[newton] Update shift after actual update
Alternative for !3865 (closed). Fixes #1394 (closed).
Reassembly is now calculated based on the actual update. I think this makes more sense because if we haven't moved much due to a small step size we are more likely to can afford keeping the Jacobian entry.
Edited by Timo Koch