Pure and quasi-Newton methods.

A pure Newton method (assumes we have access to the Jacobian) and a
quasi-Newton method (approximates the Hessian) with BFGS updates.

New logging setup too--I'm going to roll it out across other modules
now.
New logging setup.

Still can't merge test and module logs for some reason, but every module
now logs to its own file. Useful for submitting individual logs with
every assignment.

Also added basicConfig to __init__.py. Not sure if that's good or bad.