Fix for https://svn.boost.org/trac/boost/ticket/9579

Make sure conversion to built in integer does the right thing when the result is in range.
Allow convert_to and conversion operator to work when the target type is another number which does not have an existing implicit/explicit conversion.
Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop