Auxiliary-field Quantum Monte Carlo method for correlated fermion systems: II. Algorithms