Heisenberg Groups and Algebraic Topology