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.
Why do you put the `dst` as an argument and don't work on `this->residuals` directly? You call it with it further down...