Adding new methods and fixing matrix multiplcation.

Fixing multiplcation method and putting more error/bounds checking in
place. All element accessors now have bounds checking and dimension
checking is in place for all methods (where needed).

Adding new methods:
	isHermitian()
	isSkewHermitian()
	complexConjugate()
	conjugateTranspose()
	isProjection()