much much faster arrays

we produce empty fixed size arrays and we fill them.
Some benchmarks:
::Benchmark Array.macroMap::
Parameters(size -> 500000): 0.5783780833333334
Parameters(size -> 700000): 0.7899670277777779
Parameters(size -> 900000): 0.9428422777777778
Parameters(size -> 1100000): 1.2067224166666666
Parameters(size -> 1300000): 1.4966373333333334
Parameters(size -> 1500000): 1.7553565

::Benchmark Array.map::
Parameters(size -> 500000): 4.4949685000000015
Parameters(size -> 700000): 7.121111388888888
Parameters(size -> 900000): 8.335581000000001
Parameters(size -> 1100000): 10.273437111111113
Parameters(size -> 1300000): 11.786550416666667
Parameters(size -> 1500000): 13.630772861111106