[Support][RFC] MessagePack reader/writer

Hello all,

I have prepared a small patch to add support for reading and writing
MessagePack in LLVM, and want to propose including it in trunk. MessagePack is
a binary object serialization format, with the goal of being more compact than
text formats like JSON or YAML. The specification can be found at
https://github.com/msgpack/msgpack/blob/master/spec.md

There is no use of the code currently (outside of unit tests), but at AMD we
are defining our next code object metadata format in terms of MessagePack, so
patches which use the new format will be coming soon. I wanted to propose the
addition now before writing dependant code, so anyone with interest can have
a chance to review it.

The API in this patch is low-level; the next step would be to define a
high-level API, closer to the YAML library, to read and write whole structs.

The patch is at https://reviews.llvm.org/D44429

Regards,
Scott