A review of agent-based models for forecasting the deployment of distributed generation in energy systems