CGSolver should stop immediately if the defect is NaN

This is bogus:

=== CGSolver
 Iter          Defect            Rate
    0             -nan
    1              nan              nan
    2              nan              nan
    3              nan              nan
...
 4998              nan              nan
 4999              nan              nan
 5000              nan              nan
=== rate=nan, T=163.568, TIT=0.0327135, IT=5000