Created the IndirectPassRegistry header
Created the IndirectPassRegistry header

The indirect pass registry is responsible for not only keeping track of
indirect pass headers but also the template groups used to create the
corresponding backing template classes as well as the indirect pass info
objects registered into the llvm::PassRegistry.

The indirect pass info objects are kept track of here because otherwise they
could go out of scope. This ensures that they remain through out the life of
the program.

DrItanium/durandal,DrItanium/durandal