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.
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)