ENH: optimize/minpack: determine leastsq and fsolve epsfcn by dtype (fixes Trac #920)

Fix the behavior of minpack optimizers with float32. If the objective function returns float32, then the default value for epsfcn is too small, as it corresponds to float64 machine epsilon.

This PR makes the numerical differentiation epsilon be determined by function return type.