Bug fixes and changes

- Fixed bug in BaseMethodCompilerStage utilizing wrong number for
NativePointerSize comparison
- Fixed bug in that the Leave instruction was not implemented for
outside protected region use
- Added test for above
- Fixed bug in ProtectedRegionStage not correctly setting branch targets
- Changed x86 Architecture to use ESI instead of EDX for
FinallyReturnBlockRegister so it wouldn't conflict with calling
convention registers
- Fixed LinkedList class in testing library
- Remade ForeachBreak test in LinkedListTests so that it generated the
correct underlying CIL
- Added NULL checks on the Reflection tests so that it won't crash
TestWorld if they fail