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.