A systematic review of federated learning: Challenges, aggregation methods, and development tools