Rename ThreeVec to TriVec

Brings this inline with some code I wrote long ago.
Add Test::is_T(cond,msg) and Test::is_F(cond,msg)
Add operator<< for printing TriVec objects to Streams.

This allows me to shift to using t.eq() for my
vector unit tests.
Add tests for ColVec multiplication

Test the results of multiplication of a column vector
by the transpose of another one of the same size,
oth ways. For ColVec<N,T> P,Q we have:

    P*~Q is a Matrix<N,N,T>
    ~P*Q is a Matrix<1,1,T>
Specialize matrix multiply so dot product is a scalar.
Matrix Scalar Multipy and Divide.

NOTE: for "scalar * matrix" this implementation assumes
that multiplication is commutative over the type of the
element of the matrix.
Drop some unneeded includes

Also, reformat the newer bits of code.
Document matrix print methods.