Splitsolve, An Algorithm For Ab-Initio Quantum Transport Simulations