New translation system

The current translation system is brittle and complicated. [languages.php](https://github.com/Elgg/Elgg/blob/master/engine/lib/languages.php)

This separates the translation system into three components:
 * Translator - this handles the actual translation of the message
 * TranslationLoader - this loads translations from file or cache
 * TranslationService - this manages the translators needed for a request. It manages user and site languages.

The only implementation detail that I have noticed that is different is that the new system falls back to the site language while the current system falls back to English. I could add English as a 2nd fall back.