A review of quasi-periodic oscillations from black hole X-ray binaries: Observation and theory