Added a preliminary support the Lanczos algorithm (Implictly restarted)

 - Fixed cuda_matmul - API (a previous change introduced a problem wrt. transpose.
 - Supports complex-valued Lanczos (symmetric) and real-valued, only thing missing is real-valued Arnoldi (low priority)
 - Lightly tested, real-valued lanczos seems ~4x faster to complex-valued arnoldi on cuda sm_12, no other benchmarks done yet
 - Subspace part still uses complex numbers always