Initial implementation of localizer

Adds the messageformat.js library.
Localization doc updates

export messageFormat
Rename Localizations to Localizer
Add localizer serialization

+ tests + addition to run.js
Update messageformat.js to include fallback for pluralFunc

Uses commit e9eb026 from my fork of the messageformat.js tree:
https://github.com/Stuk/messageformat.js/commit/e9eb026ad9acd09865817a84d55663a990b4be83
Add Localizer class to localizer
Add defaultLocalizer to localizer
Add tests for Localizer and defaultLocalizer
Small tidy up of localizer
Add messages and getMessageFromKey to Localizer
Add localize method to Localizer
Use Localizer#localize in localization bindings

Add optimisation when the localized message is a string
Remove Localizer#getMessageFromKey
Update messageformat.js to include escaping of double-quotes

Uses commit 1086694.
https://github.com/SlexAxton/messageformat.js/commit/10866942b58059184c146b43b8611800ebb4254a
Change Localizer#localize to always return a function

Better to be consistent. To make it more convenient if the message
is a simple string the function has a toString that also returns
the string. See the JSDoc for more details.
Loading of messages inside Montage for localization
Default locale of localizer to defaultLocalizer.locale on init

Update documentation
Update localizer tests
Update localizer to load package.json with a custom require

Before the localizer would always try to load the messages from
the Montage package. Now it accepts a require function to load
from where the require comes from. By default it uses
{global|window}.require, and so will load from the package that
Montage is used in.
Add failing test for creating non-en Localizer