Directed Loop Updates for Quantum Lattice Models