[ctx_profile] Pull `ContextNode` in a `.inc` file (#91669)

This pulls out `ContextNode` as we need to use it pretty much as-is to implement a writer. The writer will be implemented on the LLVM side because it takes a dependency on BitStreamWriter.

Since we can't reuse a header between compiler-rt and llvm, we use a header file which is copied on both sides, and test that the 2 copies are identical.

The changes adds the necessary other stuff for compiler-rt/ctx_profile testing.

GitOrigin-RevId: e4763ca83b90eed96be6fd83a9867e435f4b8ffe
9 files changed