Improve debug info for vector types and skeleton for enums.

Adds the missing array information. Printing vector values work now.
Also adds a skeleton for enum types.
Merge branch 'vectordi'
Remove bogous DtoMemCpy assertion.

DtoMemCpy is called with identical pointer arguments in
some legal cases.
Minor array copy refactoring.
Do not generate invalid memcpy() for struct self assignment.

This catches only the most trivial case, need to investigate
this further.

See GitHub #385.
DValue: Do not uselessly inherit from Object.
DValue: struct->class.

This is in line with an incoming upstream change making all
polymorphic structs classes, and also matches common coding
conventions.
Minor DVarValue refactoring.
Detab RTTIBuilder.
Downgraded accepts-invalid workaround error to assertion.

Bug 9268 was fixed in 2.062.
Store bools as i8.

I really hope we can refactor this to use a less leaky
abstraction later – it should at least be possible to merge
voidToI8 and i1ToI8.