Revert #2044 - Make Array a templated struct, and merge with ArrayBase.

Revert #2044 - Make Array a templated struct, and merge with ArrayBase.

Discussed here: https://github.com/D-Programming-Language/dmd/commit/8bdbc66cfbd414dbdf42c5506fd983a802f44007#commitcomment-3331609


This is the only suggested solution unless we can come up with a reasonable compromise.