Quaternion clean-up.

This commit removes some debugging code that was left in. It also gets
us some basic interop between Complex and Quaternion around equality
(and verifies that the hashCode implementations are also in sync).

Finally it fixes some bugs in sqrt/nroot (although of course nroot is
still not completely done).