Adds a feature for managing the page's legacy urls.

Every time a user renames the url of a page, a legacy page urls gets created. These urls where hidden to the user. Now the user is able to edit them and even add new ones, what adds some nice SEO related advantages.
Fixes Dialog error message icon. [ci skip]
Remove deprecated mock from base_helper_spec, use double instead.
Always enable buttons of remote forms after ajax response.

If a remote form was submitted, the returning function had to handle the re-enabling of the submit button.
This was not visible because at normal cases the content of the form was replaced from the ajax response.
But sometimes this is not happening and the button had to be re-enabled manually.

Bonus: This also includes a fix for buttons with icons, that loses it's icon after getting disabled.
Return instead of closing dialog, if remote form's response is javascript.

We have a event binded on ajax:success for remote forms in dialogs.
If the response type was javascript we closed the current dialog.

This is sometimes not wanted. Instead we just return from the function and let the javascript handle the closing of the dialog.
Fixes ajax request permission error handling.

- Return a text body instead of rendering the action
- Show a growl warning if permission is denied on confirm delete dialogs.
Make the regular expression for external link url matching configurable.

Conflicts:
	app/views/layouts/alchemy/admin.html.erb
Validates external page urls format and prefix them with protocol if it's missing.
Do not update urlnames of pages that redirect to external. Closes #529

Conflicts:
	app/models/alchemy/page/naming.rb
Restore the page_status partial that was removed by 8e106a2a5f475d0016730d1f3046f0d674c996c5

Fixes missing partial error in admin/pages#update
Fixes the position of the page status name and icons.
Ensure that at least the default regexp for external link url matching is present.

If one has a custom config file and does not have the new link_url matcher yet, the admin view throws a javascript exception.
fix Page#previous_page

because of a faulty ordering it was always displaying the first, not the previous page
Split the tinymce initialization into a global and a custom "per page" part.

This splits up the TinyMCE configuration into a global part, that gets evaluated on every full page load and a custom part, where only these custom tinymces get initialized that needs to be on that particular page.

Hopefully closes #500, closes #531 and closes #536