fix SENTINEL code:
- add missing address adjustments
- free: check for interior pointer
- raise InvalidMemoryOperationError in release mode
- disable some unittests when building with -debug=SENTINEL
Remove TypeNewArray (Ne) demangling
Merge pull request #921 from ibuclaw/tna_dem

Remove TypeNewArray (Ne) demangling
Add support for demangling __vectors
Merge pull request #922 from ibuclaw/vector_dem

Add support for demangling __vectors (Nh)
Merge pull request #920 from rainers/fix_sentinel

Issue 12843 - Unit tests fail when GC is compiled with SENTINEL
The GC will now call destructors on heap allocated structs. It is impossible to feasibly implement the invokation of arrays of finalizable structs, due to the inability to know which elements in the array, which may, or may not have been, initialized to begin with. There is also no way to know what the actual length of the array is, you can know how much memory was allocated for it, but not whether there was ever a reference to that point in the array. The destructors for structs in classes are still called as they were previously, which is immediately after the body of the outer class's finalizer.
Added _d_delstruct for use by the delete operator when deleting a pointer to a struct. Also removed the need for a separate array of struct infos by storing the pointer to it at the end of the page for structs allocated by the GC that have finalizers.
Removed the STRUCT_FINALIZE block attribute. Also fixed an issue in my initial implementation of the type info being moved to the end of the page.
Destructors of structs in arrays are now called as well.
As discussed on the PR, removed StructInfo, and replaced all uses of it with TypeInfo_Struct.
I also made the runtime entirely responsible for managing the type info of a finalizable struct. Previously the GC first had to retrieve this info before calling the runtime to do the finalization, even though it's the runtime that determined where to put the type info.