Multiplication of matrix and vector

Added methods to multiply a matrix with both a row and a column vector.
The column vector multiplication follows the same algorithm as matrix
multiplication (multiplying each row of the matrix with the column vector)
whereas the row vector multiplication treats the result as a linear
combination of the rows of the matrix.