Cube Complexes in Geometric Group Theory