Switched to a closed form Jacobian (but added a test to make sure it is correct).  Added a scale parameter for the BFGS optimization function.  Added PSO optimizer as a fallback option.