upgrade to hakyll 4, and rewrite as a result. meta compiler has gone away, so I've rewrittem the git related parts as follows.

1) using the preprocess function to execute before any rules are run, get a list of files in the articles directory and get a list of revision pairs for each one
2) in the normal rules, process each of those entries (now a Map Identifier -> [(Revision, Revision)]) by creating and routing them and applying templates as normal.

still TODO:
1) pretty print the diff
2) rewrite the code that includes the history to use the list of diffs we've already got (instead of computing them again)
use cabal for build. clean up type signatures and remove unused code
more cleanup
add license, ignore compiler caches in git, update templates