fixing attribute-based XSS, adding in default auto-escaping
resolve XSS issue #35

 - Use jinja auto-escaping in templates
 - Store unencoded messages in database (need to go through and fix those use sql in deployed instances)
 - for commits' pprint, escape the message, files and base paths and then mark the rest as 'safe' (necessary or things are double-encoded
 - for commit prettydiff components, the gdiffer does encoding, and the content is marked safe (necessary for the things are double encoded and pretty diffing doesn't work)
 - for RSS items, the title is escaped, and the 'safe' Markup objects are converted back to strings to prevent type errors

Ultimately, this is pretty ugly, and I'm not super happy about it.  The way pprint works where some of the data is untrusted and some of it is trusted is crappy.  I'd much prefer to have all the formatting logic in pprint put into the template so autoescaping will work fine and I never have to mark something as 'safe' - but that pprint logic is used in a few areas and I can't think of a way to avoid duplicating it.
Merge branch 'master' of github.com:cryptodotis/code-peer-review