Interest Rate Modelling in the Multi-Curve Framework: Foundations, Evolution and Implementation