HMC with provided derivatives

So this branch (which builds on top of rmculpepper#2) has the `derivative` form and a potential energy function that is aware of derivatives.

It seems to do okay with carefully tuned epsilon and L parameters on a small number of examples that I've tried.

In some models, the potential energy seems to run off to `inf.0`, though I can't tell whether that's due to a bug or a poor model.