Merge in fzero interface, multroot and thukral algorithm

This adds the following:

* `fzero` becomes an interface to the various algorithms (renaming the old fzero to find_zero) (suggested by S. Johnson in issue #1)

* `thukral` an implementation of an 8th order iterative algorithm. Also a bracketing version.

* `multroot` an implementation of Zeng's algorithm for finding roots of polynomials when multiplicities are present

* `D` some automatic differentiation code to bypass the numeric approximation in the Calculus package

Thanks. Again, sorry for the impatience.