Enhancement request 13022: add `std.complex.sqAbs`

Add `std.complex.abs2`, which returns the squared modulus of a
`Complex` or real number.

Rationale:
* It is common to need the squared modulus of a complex number,
and using `abs(z)*abs(z)` would be inefficient due to the
computation of the square root.
* The name `abs2` has been chosen for consistency with `abs`, and
for being mathematically more correct than `norm`, used by C++ STL
for the equivalent function.
* For genericity, the function `abs2` is also declared for real
floating point numbers, in which case it simply returns its
square.

UPDATE: use `sqAbs` instead of `abs2`.
Add clamp function

Request in issue 10039

http://d.puremagic.com/issues/show_bug.cgi?id=10039
Adjust clamp signature and tests

signed is now deduced over unsigned, added small documented unittest
instead of full block
Add in contract for clamp()

lower bound should not be larger than higher one
Mention 'clamp' in the cheatsheet
Merge pull request #2327 from Dicebot/remake-1360

PR 1360 revived: Add clamp function
Merge pull request #2297 from Element-126/add_std_complex_abs2

Enhancement request 13022: add `std.complex.abs2`