Add allocation of 2d array

- We will use column major order like Matlab or Fortran, different from C
Add allocation of n-dimensional array

- Now 1d and 2d versions are template specialization