fixed overlooked old template naming convention
added matrix ostream operator
added new headers
added tests for matrix ostream operator
added tests for matrix comparison operators
added assignment operators for matrices
added tests for matrix assignment operators
added new headers
added component counting for matrix type
added vector constructors with matrix arguments
added tests for new vector constructors
added explicit type conversions between different vector types
added tests for vector type convensions
added swizzle support for vector type conversion
added test for swizzle type conversion
removed uninformative comments
added type restrictions for sum and product
fixed fract function
changed type restriction on cross function
started docs