On the Cluster-aware Supervised Learning (CluSL): Frameworks, Convergent Algorithms, and Applications