Fixed Issue #1

The (hacky) UpDirection() method can now handle both normalized and
un-normalized vectors.  FiniteElement1D correctly calculates local
Y-Axis and Z-Axis vectors for lines with local XAxis coincident with
global Z-Axis.
KeyedVector and KeyedMatrix now take precedence

Matrix and Vector have been replaced where appropriate with KeyedVector
and KeyedMatrix.  Most matrices and methods using matrices are now
index/order independent.