Deflation and augmentation techniques in Krylov linear solvers