Project diffs

This pr adds a resource for diffs to the groups resource and adds a "diff" button to the project page.
There isn't a UI for getting the diff between two commits, but the resource responds to a request with two commit ids properly. The results for diffs for individual commits might be a bit unexpected, the git server seems to diff these to an empty repository instead of the parent commit.