feature(i18n): allows passing multiple message keys to elgg_echo()

When an array of keys are passed, it looks for each translation (including
English versions) and returns false if none are found. No notices are
emitted.

Fixes #6299

/cc @ewinslow @juho-jaakkola @jdalsem 

TODO:
 - [ ] Rebase and add to new `I18n\Translator` class
 - [ ] Split into a separate function from `elgg_echo`?
Actually I think this PR is fine. I'm not convinced that the implementation details should have that heavy influence on the end user API in this case.