Started rewriting the loop-region-merging pass
Added Init.clp and updated several files to use the module layout
Added is-macro to the Pass class

is-macro allows the pipeline to replace the given pass name with a set of
subpasses. This replacement will only occur once a given element is the first
element of the list of passes left to execute.
Modified loop-region-merging to be divided into many different modules

These modules are defined in Init.clp and each stage is meant to be it's own
module. This not only makes the matching set smaller but also reduces the set
of matches for each fact as well.
Removed the is-macro slot from the Pass class.

This keeps the logic of the pipeline really simple while forcing the programmer
to pick up the slack.
Added the loop-region-merging pass to the PassRegistry
Added the ownership determinant type

This type is necessary for loop-region-merging. It keeps tracks of claims for a
given object as the merging process occurs