Handle "cabal test" exit code correctly

Rather than letting the default exception go through when the process
exits with non-zero status, spawn and wait for the process then exit
with the appropriate status code.
Add hlint support
Make "git-vogue check" be happy with git-vogue

This commit makes git-vogue check (i.e. the cabal and hlint tests)
happy with the git-vogue package.
Merge pull request #17 from anchor/wip-cabal-exit

Seems sane to me, confirmed functionality once built and "installed" correctly, it does indeed explode on other Haskell repos as anticipated.