High-Utility Pattern Mining: Theory, Algorithms and Applications