Use link in the appropriate locale

We have introduced a 'locale' field for content items. When resolving
related links we would like to load the link which has the same locale
as the current content item, by preference. If that is not available we
fall back on the english item.

Note: we have adjusted the index on content item to add the locale
field. It will be necessary to create the new index and drop the old
index using the following commands:

$ rake db:mongoid:create_indexes
$ rake db:mongoid:remove_indexes

For reference: http://mongoid.org/en/mongoid/docs/indexing.html
Include locale in related links
Add integration test for locale linking behaviours

I refactored some of the specs to use some more shared context setup, and to
reduce the length of some of the examples which appeared. I found the previous
examples quite long and each example was actually testing several things. Since
I wanted to add yet another detail to a test scenario, I preferred to break it
up to simplify them and have each example cover only one particular aspect of
behaviour.
Handle non-ASCII paths.

Rails automatically decodes percent-escaped parameters, but these are no
longer valid paths and fail both our absolute_path validation and the
parsing involved in calling out to other HTTP services. We now
explicitly re-encode the base_path and use that encoded version in the
database and when calling URL arbiter etc.
Merge pull request #83 from alphagov/encoded-urls

Handle non-ASCII paths.
Merge pull request #81 from alphagov/use-appropriate-locale-for-links

Use link in the appropriate locale