Krichever–Novikov Type Algebras: Theory and Applications