Clean up negotiation system

We are very happy with how the negotiation system turned out to be improved in Drupal 7. It is very flexible and extensible, however, it still needs to be cleaned up for better developer experience and some usability improvements are in order.

Main areas of work here include:

  • Consolidate the language negotiation functionality with standard naming patterns for functions
  • Keep the concepts but rethink the terminology to make it easier to grok
  • Document the system better
  • Add usability improvements to make it simpler to configure from the gate as well as when individual pieces are configured (eg. default language, path prefixes, etc).
  • Add administration language option (often requested).