Start on a generic matrix type

This type is a static (does not dynamically change dimension) matrix
stored in column-major format.
clean up imports
Unittest addition.

Also added a basic indexing API to allow client-code to access
a cell in the matrix.
    "opIndex" is the getter
    "opIndexAssign" is the setter
These names make more sense