fix(i18n): allow core to load translations for a specific language on-demand

By default Elgg is loading only English and the language of the logged in user.
These two are not enough e.g. when we want to send a notification and the
recipient is using a third language. This fix makes it possible to load translations
for a specific language when necessary.

Refs #3151 
Good ideas.

However I'm tempted to do this regardless if it conforms to SemVer. Do we really want to make things difficult/obscure/duplicated just because we have agreed that SemVer is a good way to handle versioning? It would be nice to always do stuff The Right Way™ but in real life there's always exceptions when it's better to bend the rules a bit. (Sorry, getting off-topic! :) )