Add thermodynamic potentials

Not ready to be merged. Opening for comments/suggestions.
I don't remember why I changed the name - it was the first time I ever looked at burnman, and I probably felt more comfortable at 1 am seeing 'x' (traditional code for Fe/(Mg+Fe)) than fe_num. I should revert this.

I intend to scrap all the Helper functions (or at least relegate them to some lonely corner), as solid solution behaviour is not well-represented by single Kd values, which are generally only valid over limit ranges in composition, pressure and temperature.