mp_integer: add missing include.
convert_to: improvements in the implementation and testing.

Now we enable the function only if it returns the appropriate type. The TMP logic
has been moved to a detail enabler. Tests involving user-defined conversions have
been added as well.