Add github event handler

Note this just updates the head history table for now. I'll update it to actually display the history later.

@cpennington
It seems like w/ `OverloadedStrings`, you don't need to decode Latin-1 either, since it's a superset of ascii, and your headers are ascii-only values. You could have this function just return a `ByteString` (or even just use `lookupHeader` directly in your case statement above.