Add thermodynamic potentials

Not ready to be merged. Opening for comments/suggestions.
I think that sample_pressure() is something that we should just add in the base class.  It already exists under a different name in the birch murnaghan file, and we should standardize that.  Perhaps just call it pressure(V, T, params) ?