Metadata - Second Iteration (Incomplete)

- Added declaring type and element type to Type Definition in metadata
- Fixed newarr instruction adding the same array type multiple times
- Started work on RuntimeTypeInfo
- Continued work on RuntimeAssembly and RuntimeType
- Added Declaring Type and Element Type to the TypeSystemTree for GUI
- Currently the Element Type and Declaring Type aren't working correctly
during Runtime Reflection.
Merge branch 'master' into metadata
Merged master fixed conflict.
Metadata - Second Iteration (Incomplete)

- Fixed RuntimeType
- Split Reflection setup into phases
- Worked on RuntimeTypeInfo
- Added Reflection Unit Tests for Declaring Type and Element Type
Merge branch 'master' into metadata
Metadata - Second Iteration (Incomplete)
Merge pull request #124 from charsleysa/metadata

Metadata - Second Iteration (Incomplete)
Metadata - Second Iteration (Incomplete)

- worked on #123
Bug fixes

- Fixes issue where private sealed class SZArrayHelper is not allowed in
namespace, must be nested.
- Fixes issue where the compiler doesn't know what to do with some of
the extern methods marked as Internal Calls.
- Fixed bug in CILTransformationStage for the CallVirt instruction where
constraints weren't properly handled.
Merge pull request #125 from charsleysa/metadata

Metadata - Second Iteration (Incomplete)