BUG: do not reraise exceptions in integrate, odr, optimize

Change the exception handling inside leastsq etc. callbacks so that the
exception is simply passed outside, rather than doing the C equivalent
of::

    try:
        result = func(args)
    except Exception as e:
        print(e)
        raise minpack.error("blah blah " + func.__name__)

The advantage is that the exception type is preserved, stdout is not
polluted with printed warnings.

This also fixes a crash on Python 3 in all of these locations.
Merge pull request #514 from pv/optimize-bug

BUG: optimize: fix bug in minpack error handling string formatting on Py3