Adds available_locales setter to Alchemy::I18n module.

With this feature developers can dictate which translations are provided for the user in the backend. (I.e. if Alchemy had 10 translations, but the developer wants to provide only 2 of them.)

It can be used with a simple initializer in the host app: `Alchemy::I18n.available_locales = [:en, :de]`
Refactors clipboard. Fixes #539

The clipboard was an abstract wrapper around Enumerable. Since Rails 4.1 only allows to store simple objects in the session, it was necessary to refactor the clipboard to be a simple Enumerable again.
French translation
Removes mavericks phantomjs fix. Closes #554
Implemented a faster page sorting for language trees
Allow picture render size to be flexible in width or height

Before, you had to state render sizes in the format '300x200'.

Now, you can use e.g. '300' for inferring the height from the image file preserving the aspect ratio (or 'x200' for inferring the width).

These two additional ways of specifying the image geometry are provided by the used image processing library Image Magick (and its wrapper dragonfly), see http://www.imagemagick.org/script/command-line-processing.php#geometry.
Allow "20x" and "x20" syntax for resize, refactor PicturesController

1. The original PR proposed to make size: '300' indicate "infer height". in this PR,
'x300' maps to "infer width" and "300x" maps to "infer height". I find this slightly
more understandable (as the "x" indicates that something's missing, and which one).

The original tests had two conflicting test cases, one where size: '10' was to be
invalid, and one where size '40' was to mean 'infer height'. This is the point where
I had to change the API for this feature.

The other thing was that in the pictures controller, there was a ```#``` missing in a function
that is really just used for cropping with no crop_from data.

Refactoring:

* simplify and rename geometry_string functions
* there was some impossible to execute code (function takes mandatory args and then tests
  for their presence)
Fixing the bug in which the urlname of an invisible page would get corrupted while sorting and updated the tests
Removes translation keys that include interpolations.
Removes unneeded translations
Aligns en and nl to de translations
Removes legacy element/pagelayout/content name translations.

Also adds and improves commented usage examples.
Fixes/Adds translations for ResourcesController crud actions.
Adds middleware to rescue old Alchemy::Clipboard cookies. Closes #566
Removes db connection sharing between threads and adds database_cleaner

This runs much more stable, also when running in different environments like slow CI servers.
Convert CoffeeScript views to JavaScript to remove coffee-rails runtime dependency
Revert "Put an insert element button between and above each element."

This reverts commit 757be4229348c5d32972ec0b780457194305e7e7.

The new new Element insert Button has some serious design flaws, that have to be solved before we put this into master.
Fixes creation of external pages.

The presence validation of Page#urlname only should be triggered on update action.
Use pre release gem in README Installation notes
Fix bug in jquery plugin for saving page sort order.

Apparently, the new page sorting algorithm was orinally made for Alchemy 2.6,
which used ```_recursiveItems(li)``` - in 3.0, the signature of that function had changed
to ```_recursiveItems(item)```. However, some of the code *inside* the function
did not appreciate that changed and barfed. I did not find this bug on my own, but had help
from  @acetoxy and @thereisnospoonpt (who wrote the original sorting algorithm patch). Thank you!