refactor VimBinding type.

It boils down to this:

- prereq :: EventString -> VimState -> MatchResult ()
- action :: EventString -> m RepeatToken

+ binding :: EventString -> VimState -> MatchResult (m RepeatToken)

It's now impossible to accidentally pass different eventstrings to
consecutive prereq and action calls. Not that it happened before.

Also many lines like

  error "can't happen, because we already checked that in prereq"

are no longer necessary.
Update VimBinding usage in example configs.
Compile yi-contrib with -Wall.
Leave a note about building from source
YiM variant of nmap.
Merge pull request #520 from ethercrow/master

Refactor Vim2.VimBinding
Reformat to 80C
Allow empty classes. Fixes #144.

I _think_ this doesn't break anything.
Put in a wasted-hours counter
Account for extra suffering.
Add support for QuickCheck 2.7
Allow Haskell Platform travis-ci builds to fail
Merge pull request #521 from exlevan/master

Require QuickCheck 2.7
Bump master version to 0.8.0 to avoid confusion.
use Vty.rgb_color instead of bailing when an arbitrary RGB color is used
Make lenses for ModeMap
Actually export our shiny new functions
Clear up comment
Bind M-{ and M-}. Fixes #106.
Ask travis to ensure example configs are compilable.