Fix CREATE_ARRAY to allocate a contiguous block of memory
Fix CREATE_ARRAY to allocate a contiguous block of memory

The prior implementation was returning the wrong memory address on Windows.
According to the C++ standard, that CAN happen across platforms. Basically, placement new[]
is just broken and unreliable.

apetrone/gemini,apetrone/gemini,apetrone/gemini,apetrone/gemini,apetrone/gemini