Documentation updates to IMatrix
Multiple updates to the IVector interface

First, get(...) and set(...) methods where treating column vectors as
row vectors and vice-versa

Second, all methods inherited from IMatrix that return IMatrix are
overridden to return IVector instead.

Third, when performing vector operations, the specified vector is
transposed if needed, to match the orientation of the operated on
vector.
Better calculation for vector length

Before, the length was the maximum of the row and column dimensions.  If
the vector was of length zero, the number of rows could be 1.
Overriding IMatrix return self methods

Sorting methods better and overriding all of the methods from IMatrix
that return IMatrix to return the more specific type, IVector.
Overriding IMatrix return self methods

Sorting methods better and overriding all of the methods from IMatrix
that return IMatrix to return the more specific type, Matrix.
Overriding IVector return self methods

Sorting methods better and overriding all of the methods from IVector
that return IVector to return the more specific type, Vector.