Started porting the dependency analysis pass
Added the pass header for the dependency-analysis pass
Added the ProducersPropagation logic to the dependency-analysis pass
Added the rest of the codebase that makes up dependency-analysis
Added the folder for the hydra pass
Updated Init.clp of loop-region-merging to fix the module names

The modules were marked as loop-region-building-* instead of
loop-region-merging-*.
Updated the path passes to perform the class-exist check in the PassHeader

This keeps the code quite clean while ensuring that the types can be loaded
through either batch or load
Modifed a large number of rules to use lowercase versions of id and parent

This change took place in the loop-region-merging code
Fixed errors in LoopRegionMerging.clp

These errors include:
1) Needing to replace Contents with contents due to changes in slot names
2) Updating module names to use merging instead of building
Fixed bugs throughout two different passes.

In the loop-region-merging pass I fixed all of the porting bugs that were
introduced.

In path. I replaced batch and load with batch* and load* respectively so that
results are not printed to the console.
Added a check to see if a given function is a declaration

In this case those functions need to be skipped because they are dynamically
defined and not part of the program proper.
Fixed an issue where getAnalysisUsage wasn't being called in indirect passes

It turns out that I forgot to have the const tag at the end of the function
declaration for each pass type's getAnalysisUsage call. This also required that
I tag applyIndirectAnalysisUsage to be const as well. This fixes the issue
where passes were not correctly firing because none of the analysis passes were
being marked as required.
Removed an llvm::errs() call in IndirectPasses.cpp

This was a fragment of what I was using to test to make sure that
getAnalysisUsage was firing correctly.