This patch adds the ThinLTOObjectFile class which has interfaces for reading and writing ThinLTO blocks in bitcode files. As discussed in the File API and Data Structures RFC (see below for link), the ThinLTO information is read in different compiler/linker invocations than the rest of the Module IR, which is why the ThinLTO information uses a different ObjectFile subclass and a data structure outside of the Module class. See the RFC for more details.
The ThinLTO function index/summary data structures are defined in http://reviews.llvm.org/D11721, and the bitcode reading/writing support is defined in http://reviews.llvm.org/D11722.
Related RFCs:
RFC: ThinLTO File Format (http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-August/088947.html)
RFC: ThinLTO File API and Data Structures (http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-August/088951.html)