Include `self` in available_translations, and order correctly

This is a convenience for front-ends which will use this list to generate a
language switcher menu.

We also sort the list alphabetically by locale code, so that the list is always
in a stable order.
Add end-to-end spec describing available_translations
Documentation of locales and available_translations

More explanation of how translations of content items should be
stored in the content store.

Documentation of `available_translations` links.

Documentation of `locale` field appearing in links hash.