homological methods in group theory