type_traits: add a mechanism to disable noexcept checks for pre-C++11 classes.
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.
mp_integer: a minor style change.
mp_rational: implement generic assignment operator.
mp_rational: assignment from string.
polynomial and series: fix a couple of tests in light of the recent pow changes.
Merge branch 'pow_rework'
mp_rational: fix problem when using move semantics.

The moved-from mp_rational was left in an unspecified state that, in certain
cases, could be invalid. E.g., zero denominator when the moved-from int
is a GMP one. Now we force the denominator to 1 in the moved-from object,
so it should be valid and canonical regardless of what there is in the denominator.
real: add some todo items for the future.
Introduce inline namespace for literals.
mp_rational: simplify logic in canonicalisation.
Merge branch 'master' of github.com:bluescarni/piranha
memory: add a missing check when resizing a vector and a couple of minor style changes.
mp_integer: add the "_z" user-defined literal.
mp_rational: user-defined literal "_q" and more pieces for the arithmetic ops (to be tested
and documented yet).
Merge branch 'master' of github.com:bluescarni/piranha