use Calculus for derivative rules

We can simplify the code and improve functionality by taking the derivative rules from Calculus.jl. This is surprisingly easy to do.