Extract artificialTokenEdit directive

Useful because we have easy access to the state.change function there -
something we want, so that we trigger the need for a save, make an
entry in the history etc. etc.
Use unique scope variables in artificialTokenEdit
Merge pull request #525 from latin-language-toolkit/at_fix

Extract artificialTokenEdit directive