Add thermodynamic potentials

Not ready to be merged. Opening for comments/suggestions.
Ok, I hoped someone would comment on this. I couldn't find any way to output P(V,T) of a mineral (i.e. what EoSs are meant to do!). So, three things:

1) Is this the most sensible way to implement this?
2) What should we call the function?
3) Where should I document? Just in-code, or in another document too?