Add implementations for Mat::zeros() and Mat::ones()

In class Mat, "static MatExpr Mat::zeros(int ndims, const int* sz, int
type)" and "static MatExpr Mat::ones(int ndims, const int* sz, int
type)" are declared but never implemented. That means we can see their
manuals from
"http://docs.opencv.org/modules/core/doc/basic_structures.html" but we
can't use them. Here I tried to finish their implementation.
I have also changed MatOp_Initializer::assign to make it support
multi-dimension Mat.
Test cases are added in test_math.cpp as well.
Merge branch 'master' of https://github.com/ArtanisCV/opencv
Merge branch 'master' of https://github.com/ArtanisCV/opencv
Change memory allocator.