Quantum communication complexity: a survey