Convert item['slug'] into string before concatenating it with ancestor path.

Fixes #588
Bump act-as-taggable-on to 3.2.6 and include the necessary migrations

Acts-as-taggable-on 3.0 has just been updated to a version that breaks alchemy
builds with PostgreSQL and MySQL. This makes every pull request fail. This is
an attempt to update it to the latest version and see whether with this PR
the Travis builds go through again.

I've tested tagging locally, and it does work as expected with this and Postgres.

Even if this passes Travis: This has to be tested manually; I'm not at all sure
I'm doing the Right Thing here.
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