test.check generators for arrays and matrices

- size: min-elems and max-elems 
- dimension: min-dim and max-dim
- element-generator
- implementations
example: 
(map (juxt type shape) (gen/sample (gen-array) 20)) ;=>
([java.lang.Double nil] [mikera.vectorz.Vector [1]] [clojure.core.matrix.impl.ndarray.NDArray [1]] [java.lang.Double nil] [clojure.lang.PersistentVector [2]] [clojure.core.matrix.impl.ndarray.NDArray [4 4]] [[Ljava.lang.Object; [3 6]] [clojure.core.matrix.impl.ndarray.NDArray [1 7 1 5]] [mikera.vectorz.Vector [7]] [[D [1]] [clojure.core.matrix.impl.ndarray.NDArray [7]] [clojure.lang.PersistentVector [10 7]] [[Ljava.lang.Object; [6 11]] [mikera.matrixx.Matrix [12 5]] [mikera.arrayz.impl.SliceArray [8 8 1]] [clojure.core.matrix.impl.ndarray.NDArray [3]] [mikera.vectorz.Vector [17]] [clojure.core.matrix.impl.ndarray.NDArray [3 16]] [java.lang.Double nil] [clojure.lang.PersistentVector [17]])