Add primitives for vim tag stack implementation.

Adds support for loading tags based on a configuration variable
containing a list of tag files to try, including ./* notation
(vim-specific oddity). Also a tag-stack that operates in the same
behavior as the vim tag stack.
Add Ctrl-] keybinding for tag jump.
Add tag pop, bound to Ctrl-t.
Add :tag ex vim command.

With no argument, jump to next tag in tag stack (unpop). With argument,
jump to tag, pushing the new tag in the correct location on the tag
stack.

Also aliased as :ta (since vim aliases it).
Merge branch 'vim-tags' of https://github.com/jhance/yi into jhance-vim-tags
Remove unused field in Mode type.

Exercise for the reader: try to find all unused fields in our codebase.