Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems