Message: Support ICU MessageFormat using slexaxton/messageformat.js

:boom: WIP...

- [x] Implement #265
- [x] Plural generator
- [x] Functional tests
- [x] Docs
- [x] slexaxton/messageformat.js license ([debeaf4][])
- [x] example

[debeaf4]: https://github.com/SlexAxton/messageformat.js/blob/debeaf4/LICENSE
How about:

> Variables can be objects, where each property can be referenced by name inside a message, or arrays, where each entry of the array can be used inside a message, using numeric indices. When passing one or more arguments of other types, they're converted to an array and used as such.