Predictive Maintenance in Smart Factories: Architectures, Methodologies, and Use-cases (Information Fusion and Data Science)