[clang][OpenMP] Prototype #3 of directive splitting
This is proto #2 plus creating a root node for the broken-up directive
tree. The root node will hold the information needed to pretty-print the
original directive/clauses.
This isn't 100% finished, but it should be enough to illustrate
the changes needed to implement the feature.
Proto #2: https://github.com/llvm/llvm-project/pull/109288