Currently, writing A' * u creates a new operator for A' so that preallocated storage for A cannot be taken advantage of. We need a proper transpose(A). This would also remove the need to use A.tprod(u) in certain Krylov.jl methods, which are not generic.