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!)

@tgiphil this does change a few things but overall it shouldn't impact your work with exception handling.
Since it alters the calling convention I would also like for you to OK the merge first.