Complex.opBinaryRight for numeric types, to allow numeric ^^ complex operations.

The current design takes advantage of the fact that we know
we're dealing with a number whose argument is either 0 or PI.
An alternative design would be to just create a complex number
whose real part is equal to the input, and then raise it to
the power of this:

    return typeof(return)(lhs, 0) ^^ this;

This would generate probably less precisely calculated values
but would be 100% consistent with complex ^^ complex calculations.
Merge pull request #1740 from WebDrake/numeric-op-complex

Fix Issue 11652: support numerical ^^ complex operations in std.complex