Worked on general issues and bugs

- Fixed bug with calling convention and compound types (fixes unit test
CallDelegateGenericReturnStructB)
- Added nested foreach tests to linkedlist unit tests
- Added to the struct unit tests for completeness
- Added small optimization to TinySimulator
- Temporarily changed Korlib LinkedList enumerator to class because
structs are still broken (Grr! Cant solve!)
- Separated SSA and IR Optimization stages so that they can run independently
Pulled in from upstream/master
Fix merge
Fixes #97

Fixes https://github.com/mosa/MOSA-Project/issues/97
Also a test to TestWorld to ensure the bug doesn't show up again
undetected.
Reverted LinkedList.Enumerator back to struct now that the bug is fixed.
Have also allowed exceptions to be reported in the Launcher.
Merge pull request #96 from charsleysa/metadata

Worked on general issues and bugs