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.
Do I correctly see that completely ignore result and do not check even for success, and not store `stdout` and `stderr` anywhere?