See Part 1 (https://reviews.llvm.org/D39050) for an overview of the new functionality.
That part added a new -index-store-path option that added a new IndexingAction/WrappingIndexAction implementation to collect file inclusion and unit dependency information in addition to decl occurrences. This part contains the changes to write the collected information out to the directory supplied by the -index-store-path option in the LLVM Bitstream format.
Names with "util" are generally considered bad... Maybe just call this IndexStore.h as it seems to be the wrapper of indexstore.h for C++?