Provides a new type, LLVMBinaryRef, and a binding to llvm::object::createBinary for more general interoperation with binary files than LLVMObjectFileRef. It also provides the proper non-consuming API for input buffers and populates an out parameter for error handling if necessary - two things the previous API did not do.
In a follow-up, I'll define section and symbol iterators and begin to build upon the existing test infrastructure.
This patch is a first step towards deprecating that API and replacing it with something more robust.
Who owns the returned memory buffer?