Add PDF generation and queueing with client-side polling

Changed the paths of PDF preview files, so that they are not in the public folder.

PDFs are now streamed as binary files instead of returning the public URL of the file to the client.

Couple integration tests are pending, because of issues with getting Sidekiq to work in the test environment.