Core Decomposition in Multilayer Networks: Theory, Algorithms and Applications