Adding new methods

New member methods:
	isNormal()
	isOrthogonal()

Creating a new non-member method:
	makeIdentity(dim)

Not sure about the makeIden method yet. I didn't know the easiest way to
go aboue creating identities. One issue we run into is that since we have
gone down the path of templates, the template perameters have to match up
for doing calculations. So, you cannot add a real matrix and complex matrix
because their types are fundamentally different. I suppose we could redo
the template to contain 2 template parameters and use them whenever we need
them like in the case of dealing with calculations between real and complex
matricies. I'm not comfortable enough with expression templates yet to do
this so I'm going to leave it like it and just live with the restriction.

Another way I thought about implementing the makeIden method was just to
make it a member function and have it clone what ever the memebr type is.
That way if I have a complex matrix, the idnentity will be complex and
thus I can do multiplications of them.