Add elastic free energy material

Adresses #4269. 

This PR finally adds ```tensor_mechanics``` as a dependency to the ```phase_field``` module. The reason being that the ```DerivativeBaseMaterial``` is in ```phase_field```, and the material class generates a free energy for a phase field calculation, but it uses the ```RankTwoTensor``` class from ```tensor_mechanics```. One alternative could be moving the tensor classes into framework.
At least here it is consistently declared _not_ inline (is that outline?!) and I'm using all three counters I declared.