Diversity in Massively Multi-agent Systems: Concepts, Implementations, and Normal Accidents