Started rewrite of Quaternion class. Reordered and refactored some
methods. Added some new methods from the libGDX implementation.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Updated Quaternion class to be more efficient and consistent. Also added methods based on the libGDX implementation.

Signed-off-by: Jared Woolston <jwoolston@tenkiv.com>
Merge pull request #983 from MasDennis/Quaternion_Rewrite

RFC: Quaternion rewrite/refactor