Quantum Imaginary Time Evolution (QITE) Algorithm