RelationView: replace relations with aliases when available
fix crash when replacing a link in a code with a new link
- replaceCodeAt -> replaceCodeOrPathAt
static
make Pair conform to the algebraic datatype pattern
CodeNodeEditor: remove inheritance
RelationNodeEditor: make selectPath's interface consistent with the other functions of Listener
fix crash when replacing certain links with another code
-refactor CodeField to use UIUtils.addCodeToMenu instead of its own method
-allow linking to another link in a code (it just links to the destination of that link)
CodeField: remove inheritance
CodePath: remove inheritance
CodeEditor: remove inheritance
RelationNodeEditor: remove inheritance
RelationList: remove inheritance
CodeList: remove inheritance
private
RelationEditor:
  -remove inheritance
  -remove unused duplicate method changeRelationType