Modifications to the preconditioner update strategy.

- remove condition based on number of Newton iterations (not meaningful)
- use average number of Krylov iterations per Newton iteration to force a preconditioner update (if specified)