MAJOR: Use LanguagePrefix::updateRelativeLink()

This fixes the issue where the pages return 404 in the CMS preview or
split mode.

It also Deprecates the PrefixLink() function: the Link() function will
now automatically return the link including the prefix, and the need no
longer be subclassed in the Page class.
Upgrade SiteTree::get_by_link()

SiteTree::get_by_link() cannot handle prefixed pagelinks.
alternateGetByLink() will remove the prefix from the equasion by
returning an empty SiteTree object, thus allowing get_by_link() to
traverse the other URLSegments of the link.

Note: this will fail for homepage links like 'en_US' because the prefix
causes get_by_link() not to call Director::get_homepage_link()
Fix: error on saving ErrorPages when Duplicate URLSegments are enabled
Update the docs
Update docs
Update the tests
Fix: sometimes the prefix was not added to the RelativeLink
Fixes the issue of multiple prefixes in the CMS URLSegment field
New implementation of using duplicate URLSegments

Now setting Translatable enforce_global_unique_urls to fals in config.
This makes LanguagePrefixTranslatable obsolete.

To prevent Translatable from still adding a locale suffix to new
translations, an onBeforeWrite() function is added. This should be a
temporary 'hack' I hope.
LanguagePrefixTranslatable no longer replaces Translatable

Check for Translatable instead
Updated the README
Fix: remove negation

This was a remnant of an earlier condition. Leave the URLSegment equal
to that of the original page if duplicate URLSegments are allowed.
Thes fixes are now no longer necessary