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. 
We don't want 'max_parallel=1' because we DO need to test this in parallel...