Use RequestStore instead of pure Thread local variables for request specific state in order to avoid concurrency issues.
Require request_store in engine.rb.
Fix typo in ignored upload folder
Do not overwrite custom NonStupidDigestAssets.whitelist
Fix published_at setting without use of publish!

Before, published_at was only set when you explicitly called publish!
on a page. It wasn't set when a user just edited the page properties
and changed the public flag to true. This commit changes this. Whenever
a page is made public, it's published_at timestamp is set if it wasn't
set before.
Bump version to 3.0.2
Move all dimensions operations to Picture::Transformations

All point and string arguments can tage the "x20" or "20x" arguments.
Points get 0 interpolated, height or width get the width or height of
the crop_size or of the original image.

Upscaling is not allowed unless upscale is set to true at the end of method
calls.
Fix bugs on Image::Transformations

This commit tries to fix the issues raised by Thomas. One by one:

1. Refactoring app/views/alchemy/admin/essence_pictures/crop.html.erb
- I didn't really put everything into a method, but rather used Ruby's to_json method.
- @size_x and @size_y get merged into a @min_size parameter, because that's what it really is.

2. Added lots of comments

3. Moved all methods that aren't directly accessed from outside to private methods

4. Added some tests for complex cropping behaviour

5. Changed behaviour for the fixed_ratio option when cropping.
Before, fixed_ratio would be "true" and then set the ratio to 1. Now, one fixed_ratio
takes a number (width/height) and can be arbitrarily set. This makes sense when used in
conjunction with the "x20"/"20x" syntax for image size.
It only affects the image cropper. There is no support for ratio when rendering directly.

6. Thumbnails of cropped images without mask now show the correct part of the image.

7. Instead of raising an error when generating the default mask, the crop button is
disabled when trying to crop an image that cannot be cropped.

8. Changed "-resize" to Imagemagick option -thumbnail because it's
[faster than -resize](http://www.imagemagick.org/script/command-line-options.php#thumbnail)

9. Added upscale parameter to xy_crop_resize

10. Use @image instead of @picture.image_file in the picture_controller.rb
fix thumbnail generation. finally, i think