Fixed bug in quaternion multiplication

I believe the equation for multiplying quaternions in mathgl has a missing term.

See http://en.wikipedia.org/wiki/Quaternion#Quaternions_and_the_geometry_of_R3

I've added tests which identify the bug, and validate the changes I've make in my fork. 

The tests only cover Quatd, although I've tried to make them similar in structure to your existing Vec/Mat tests. I noticed that most of the other tests only cover the `float32` variant. I'd be happy to change that if you have any conventions about the tests.

Thanks for the useful library.