arrays: add explicit in memory_layout constructor

mandatory otherwise code like
matrix<double> M(2) is wrong but compiles...