We no longer assume that matrix elements are ordered by default. For example complex numbers cannot be ordered. The matrix functions which depend on ordering of elements have been separated out.
Added more types for which matrices can be constructed.
Implemented unary_minus method.
not a vector error defined.
diag_from_vec  set is_diagonal functions defined.
replaced Mat with Matrix. More expressive names.
changed names for sub_mat and rep_mat
Implemented diagonal extraction method.
Implemented unit_vector method, set needs mutable reference to matrix.
rand_std_normal function defined.
row iterator, column iterator and cell iterator types implemented.