Split general library and math library.
Fixed a numeric derivative issue.  Now supports up to 4th order numeric derivatives without wrapping a numeric derivative in a numeric derivative.  Broke several parts of the library off into a general library as well.