math and integer: rework the way pow() is handled.

Essentially, relay to std::pow for all arithmetic types, whereas for integer
adopt the same implementation as for arithmetic operators.

Conflicts:
	src/math.hpp
integer/mp_integer: is_integrable type trait test moved to integer tests from math,
and added to mp_integer.
mp_integer: todo items.
math.hpp: some minor cleanup, doc fixes and todo items.
math::pow: introduce an integral-integral overload that results into an integer result.
polynomial and series: fix a couple of tests in light of the recent pow changes.
Merge branch 'pow_rework'