code canonicality and building codes from existing codes

restructure project:
  -Kore folder for Kore itself
  -KoreTest for tests for Kore
make CodeEditorActivity's methods for editing the code less general
preserve aliases when code is changed
don't allow deleting a code if it causes a reference to become invalid
followPath -> codeAt
codeAt returns Optional<Code> instead of null or Code
aliases are now properly keyed on canonical form of codes
fix CodeEditorActivity using wrong string to restore codeAliases
don't allow user to construct links to links
add ability to link to codes in "recent codes" list
noticed another race condition: when you click on the code right of a label too fast; causes crash