mp_integer: implement faster construction from C++ integral types.

And fix a test case to actually test what it claims to test (dynamic vs dynamic copy assignment in the union).
mp_integer: implement an optimisation for read_uint when we can read directly value by value from the input array.
math: initial implementation of the is_unitary() function and related type trait.

Plus a couple of minor fixes in the doc for math::is_zero().
mp_integer: implement is_unitary().
mp_integer: a couple of small doc fixes.
mp_rational: implement the is_unitary specialisation and a few performance improvements when dealing with integral values.
mp_integer: fix a warning in release mode.
mp_rational: some performance optimisation work in the comparison operators.
Merge branch 'development' into new_series_operators