Adds Quaternion class.
Refactors some method names to be more mathematical.
More refactoring.