Mathematical Control of Multi-Agent Systems: From Traffic to Crowds