Template Expressions and Matrices

Moved the template meta expressions out of the vector class so it can be
reused with matrices, and also started in on matrices.