Add PDF Normalization

#566. Still need to fix some coffeescript syntax, use random.Id, add a database migration, change `files` to `cached`, and update comments.
Hm, how should I go about this then? Is it possible to pipe the Ghostscript output into a buffer variable and then call storage.save with that?