translation extension: Cache available translations.

Since translations are often used in navigations, this helps quite a bit wrt database accesses.
Try to be smart when someone is working in the admin by throwing away cache entries.
Merge branch 'next' into tabbed_options

* next:
  translation extension: Cache available translations.