Major re-write: solvers are now classes; multiple variables can be defined simultaneously; streamlined API; conforms to PEP 8; FD derivs; auto derivative checking; all solvers implemented; hierarchical solution, Newton, KSP, NL JC, NL GS, line search, direct method tested