big refactor

-added repvec to allow more generic treatment of rank one and diagonal
flavours
- added some generic methods like diag(), row(), col()
- completed * tables for rank one, diag and full matrices