Cache static files by hash

Implements #2734.

Deployment note: `GRATIPAY_ASSET_URL` needs to be changed to `https://assets.gratipay.com/` on Heroku. I don't think we'll need to change anything on the CDN side, can you confirm that @whit537 ?
Versioning files with the querystring [used to be discouraged](http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/) (that's why I used `%version` in the path in the original implementation). Is it now considered okay to version using the querystring?