[Remarks] Add parser for bitstream remarks
The bitstream remark serializer landed in r367372.
This adds a bitstream remark parser that parser bitstream remark files
to llvm::remarks::Remark objects through the RemarkParser interface.
A few interesting things to point out:
- There are parsing helpers to parse the different types of blocks
- The main parsing helper allows us to parse remark metadata and open an
external file containing the encoded remarks
- This adds a dependency from the Remarks library to the BitstreamReader
- The testing strategy is to create a remark entry through YAML, parse
it, serialize it to bitstream, parse that back and compare the objects.
- There are close to no tests for malformed bitstream remarks, due to
the lack of textual format for the bitstream format.
- This adds a new C API for parsing bitstream remarks:
- This bumps the REMARKS_API_VERSION to 1.
Differential Revision: https://reviews.llvm.org/D67134