Restore the ability to subclass M::Q, and add tests for same.

This reverses part of the change in 32a0b05.

Hard-coding the class name breaks subclassing, even when using $?CLASS.
Only by using `self` can subclassing work correctly.

http://irclog.perlgeek.de/perl6/2013-05-28#i_7124104
    < Util> r: class AA { multi method new {       AA.bless: * }}; class BB is AA {}; say BB.new.WHAT;
        <+camelia> rakudo 25a0b3: OUTPUT«(AA)␤»
    < Util> r: class AA { multi method new { ::?CLASS.bless: * }}; class BB is AA {}; say BB.new.WHAT;
        <+camelia> rakudo 25a0b3: OUTPUT«(AA)␤»
    < Util> r: class AA { multi method new {     self.bless: * }}; class BB is AA {}; say BB.new.WHAT;
        <+camelia> rakudo 25a0b3: OUTPUT«(BB)␤»
    < Util> r: class AA { multi method new {  $?CLASS.bless: * }}; class BB is AA {}; say BB.new.WHAT;
        <+camelia> rakudo 25a0b3: OUTPUT«(AA)␤»
    < Util> Shouldn't the 4th version say BB like the 3rd?
    < jnthn> No, it's not virtual.
    < jnthn> Use self for that.
    < Util> jnthn: Thanks!
Change .reals to .coeff .

The 4 components of a M::Q *are* coefficients,
but are not necessarily of type Real.
Add plan to make math_ops.t consistant with other .t files.
Shorten .perl tests with helper sub mqn().
Add basic support for creating M::Q from Complex.
Add support and tests for .is_complex, and for math between Complex and M::Q.
Change prefix:<-> from multiplication to negation.