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][])
- [ ] use slexaxton/messageformat.js w/ new license once tagged
- [x] example

[debeaf4]: https://github.com/SlexAxton/messageformat.js/blob/debeaf4/LICENSE
So the `0` here refers to the first argument passed to the formatter? That took me a while to comprehend. Might be nice to have an example with plurals and named arguments to make that more obvious.