Added MathFreeEnergy and tests for #4476

Adds MathFreeEnergy, which is the same free energy from MathCH, but implemented as a material. Closes #4476
Maybe this is how it should work, but it is not how it currently works. Look at twophasematerial. You'll need arg_number[j_var] here. But maybe I should use the actual var numbers here. They were just not as convenient for indexing. We should discuss this, it is not an obvious choice!