Add a library that parses optimization remarks (currently YAML, so based on the YAMLParser).
The goal is to be able to provide a remark parser that is not completely dependent on YAML, in case we decide to change the format later.
It exposes a C API which takes a handler that is called with the remark structure. It adds a libLLVMOptRemark.a static library, and it's used in-tree by the llvm-opt-report tool (from which the parser has been mostly moved out).
The plan is to also migrate the opt-viewer to use this interface by providing python bindings or such.
The inconsistency in the comments bothers me. Sometimes the key is mentioned, followed by a colon or a period, sometimes it's the value, possibly between single quotes. How about putting both between quotes? The grouping is also not clear to me.