Terminate solves cleanly based on Postprocessor values

This implements the change proposed in #3735. The ```UserObject``` to trigger the termination based on ```Postprocessor``` values is part of the phase_field module. 
> Yes Postprocessors are supported, but the name of the postprocessor in
the vals and give it a name in vals to use in your expression.

This is how I did it before I switched to ParseAndDeduceVariables. I'll
look at ParsedFunction (I thought that is a per node thing, as it does
always provided x,y,z,t).