Add iteration control mechanism and provide default based on residuals.

This closes #44 and goes part way to closing #43.  We can add more flexibility to norms etc in 0.4.0.
We might want to call this elsewhere.  For example, one could probably rework the FAS stuff to use the residuals instead of the integrals...