arrays: add support for initializer_list

- for arrays, matrix, vector.
- and a test.
e.g. :
matrix<double> M = {{1,2},{3,4}, {5,6}};