Adding vignette.util.byte-streams
Adding get-object.
Merge branch 'master' into add-s3-client
Adding log-error-and-throw

Using this to log and throw an exception if the thumbnailing fails.
Adding documentation for some of the key env vars.
Adding /logs to .gitignore
Merge branch 'master' into add-s3-client

Conflicts:
	src/vignette/util/thumbnail.clj
WIP s3 interface is working

I'm not happy with this. I'm making some design decisions that I think
should be thought through some more. I'm committing this as a checkpoint
to refactor and simplify.
Clean up the declares.
Adding generate-thumbnail as simplified thumbnailer

This method simplifies the thumbnail generation for the case where we
are not storing the thumbnail on S3/CEPH. In that case, we download the
original, thumbnail it and hand it back to be sent to the client.
Tested on a dev box for latency.

The round trip for generating a thumbnail is about 400 ms. This is the
time it takes to get the thumbnail then to do the thumbnailing.

I also added a try catch around the thumbnail generation that will
delete the local original regardless of what happens.
Simplifying the s3 storage interface.

I removed all of the logic not associated with getting/putting objects
in s3.
Changing s3 to cache thumbs and pass-through

This commit changes the interface to cache thumbs in storage when they
are generated and slurp->close->send the bytes when the image is on s3.
Merge branch 'master' into add-s3-client
Make local storage compatible with the routes

Wrapped the file return in create-storage-object so we get the
mime type and the length.
Adding the content-type header

Added the header both to the response and to the s3/put-object. The
content-type is stored as part of the meta data on CEPH.
Adding slingshot for better throwing

Adding slingshot so we can bubble up exceptions with more granularity.
Change the system vars to friendlier names.
Move the context to the @context field

When we have a thumbnailer error I moved the context logging to the
context field of warn.
Make the app-routes dynamic in the system.

This should make it possible to reload app-routes and restart the
system.