resolve ambiguity when looking up short commands in trie

Previously, if one command was a prefix of another command, that would lead to an ambiguous lookup from the command trie. Now there are two ways to look up: one works like previously, which is good for tab-completion, and the other will only return one result if there is an exact match.

This means we can now have multiple forms of each command, so we can explicitly have short forms like :e -> :edit that won't be changed just based on what names we give to future commands.

This closes #90, and also #94 which was blocked on this due to :exhaust and :edit conflicting.
Remove .fails file for #94