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.
Is return type T instead of Array[T] here intentional?