Add module Data.Matrix to base

A base module for operations on matrices. Functions are defined for matrices/vectors of generic algebraic classes (mostly rings) for maximum generality. Numeric data types are also instantiated as rings so that these functions will be defined for them.