Use Etag based on git commit to invalid cache.

By only relying on `last_modified`, invalidating the browser cache
would involve updating every Location on the API side, which is not
ideal.

By adding the Etag to the mix, and setting it to the SHA from the
latest git commit, we can invalidate the cache by simply pushing new
code to production (or even just manually setting the `ETAG_VERSION_ID`
config var).

This commit also removes the assets from the public folder so we don’t
have to deal with precompiling them locally.

To avoid downtime during Heroku precompilation, I’ve enabled the
preboot feature: https://devcenter.heroku.com/articles/labs-preboot