Add scalar-multiplication operators.

Add operators * (binary) and *= for "complex_it" and "complex_rt" (both
cases), when exactly one operand is a scalar.

Add missing "inline" specifier to two functions.
Add default class-template arguments.

Add default value for the "Rank" template parameter in the "complex_it"
and "complex_rt" class templates.  The default is 1, in order to
substitute for std::complex.
Add scalar-division operators.

Add operators /, %, /=, and %= for "complex_it" and "complex_rt" (both
cases), when the second operand is a scalar.
Add norm and sign functions.

Add the Taxicab (L1), Euclidean (L2), and Maximum (L∞) norm functions
for "complex_it" and "complex_rt" (both cases).

Add the sign function "sgn" for both complex-number class templates.  It
scales a given value to a unit vector.
Add scalar-multiplication test for integer types.
Do minor fix-ups.

Change scale of one test.
Correct errors in Doxygen comments.
Add Cayley-multiplication operators.

Add operators * (binary) and *= for "complex_it" and "complex_rt" (both
cases), when both operands are hypercomplex numbers.
Add Cayley-division operators.

Add operators / and /= for "complex_it" and "complex_rt" (both cases),
when both operands are hypercomplex numbers.  Use special case code
when the component type is integral.  Add operators % and %= for the
hypercomplex types to compute the remainder from the round-offs of
(integer) division.