Adds loop invariant code motion optimization
JCL tests pass with loop invariant motion enabled
Loop invariant motion now considers method arguments to be invariants of
any loop
Prevents invariant constant motion
Includes catch instruction into interference analysis
Fixes issues with clone methods. Fixes TreeMapTest