Balancing Collective Exploration and Exploitation in Multi-Agent and Multi-Robot Systems: A Review