Matrix class v1

This is my current project I will post updates I go along. Feel free to
comment on what would be useful and what would make things easier.