Fix array creation v2

Now: All new Array[T] methods are translated to calls of the form

    dotty.Arrays.newXYZArray ...

Supersedes #252. Main change is that we now keep ref array types after erasure, and that we 
allow for local type inference of array creation arguments, i.e. new Array(len), without a type argument.

Review by @DarkDimius please.
From the comment: "`T` must be of form `Array[E]`". So yes, I suppose it is intentional.