Reland "PM: Elminate CuID in favor of Node* in private IPCs to graph nodes."

This is a reland of f5b288f95873153befd9410d0fb9d73561084771

Original change's description:
> PM: Elminate CuID in favor of Node* in private IPCs to graph nodes.
> 
> Separate node teardown from destruction by making BeforeDestroyed
> virtual and overriding it in concrete node classes.
> Tighten up the contracts and enforce a stricter data invariant.
> Fix tests and test fixtures to destroy frames before pages.
> Add a SequenceChecker to the graph.
> 
> Bug: 910288
> Change-Id: I2e6bd857462b8576212001df8128f273ba4f4d74
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1532342
> Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
> Reviewed-by: Chris Hamilton <chrisha@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#642613}

Bug: 910288
Change-Id: Ib2f465d2f5e743a7525867bb2e4d78bfe6a19fef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1531034
Commit-Queue: Chris Hamilton <chrisha@chromium.org>
Reviewed-by: Chris Hamilton <chrisha@chromium.org>
Cr-Commit-Position: refs/heads/master@{#642949}
17 files changed