Add some utility functions to the vector types.
Add a matrix type.
Removed some ambigious matrix and vector functions.
Added a googletest dependency, some matrix tests and cleaned up the cmake files.