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).
Improved Vim Km block insert/append, with tests.
Merge pull request #569 from rgoulter/visual-insertappend

Improved Vim Km block insert/append, with tests.
small correction to the yi executable path in README
Merge pull request #570 from rdesfo/master

small correction to the yi executable path in README
Non-qwerty support for Vim keymap.
Merge pull request #571 from ethercrow/colemak

Non-qwerty support for Vim keymap.
Tweak Pango modules to work with 0.13.x packages

This involves some extra annotations here and there. The Cabal bump is
because all the 0.13.x packages require configCompilerEx from Cabal 1.18
onwards and the ‘vty’ package also requires 1.18. Fixes #576.
Add release.nix for Hydra builds
Fix killring operations.

I don't know where the bug was but just using NonEmpty list type makes
sure we never hit it again.
Stick some lenses into Killring while here
s/Funtions/Functions/
Implement M-= (#581)
Implement M-\ (#581)
Move countWordsRegion somewhere better
Remove some uses of partial head
Depend on binary 0.7 on >= GHC 7.8

While this isn’t needed (GHC 7.8 ships with binary 0.7, we indirectly
depend on GHC), it’s more correct and might just prevent future
headache.