Refactoring Object Teams programs

Significant work has been put into supporting the automated refactoring of OT/J code. The following refactorings take into account the Object Teams-specific relationships (implicit role inheritance, team nesting, role-base bindings and method bindings). Additionally, specific refactorings for OT/J are being developed. Currently these are implemented: