Vector

@bsoetaer 
Well, we will need some way to make Numeric types multipliable by our classes.  Instead of ensuring it's a Matrix::Scalar though, it's probably better to ensure that it returns a type that can be multiplied by a vector without throwing an exception.

I'm not 100% sure how to deal with a scalar being divided by a matrix though, as the matrix could be singular.  perhaps just making sure the result can be divided by a representative regular matrix.