partial implementation of intl-polyfill. Doesn't include all the www langauges, and we don't want to have to update www each time there is a language added, so this needs to move into scratch-l10n somehow.
polyfill.min.js no longer needs the intl.js polyfill, so removed. Should still look at whether the other parts of polyfill.min are needed, but they're unrelated to intl.
Use current Sentry browser package and forward errorId into eventId
Fix up errorInfo reference
Put Sentry on the window object for GUI to use
Remove unneeded reference to old style Raven and raven-js
Move Sentry webpack config into production only
Add GA tracker ID to window
Allows scratch-gui to use same GA id
Now that Raven is bundled with webpack, it's not available in the global context, so require it and configure it within the init module.
I struggled to figure out how to expose the raven-js module as a global, as all the combinations of `externals` and `ProvidePlugin` only applied to webpacked modules, not the global window. The correct way to do it seems to be exports-loader but that looked rather hacky and hard to understand.
1. Load locale strings into `window._messages` in a separate file added to `template.html`, which contains view-specific and general strings
2. Update build-locales to compile separate files
If the user has not yet set their own language, but has pt in their browser, use pt-br for now, to accommodate for our large Brasilian base. Fixes#273.
The default behavior is for the `/session/` request to be redirected to the ban appeal page. Unfortunately we can't detect this 302 response, as the browser transparently handles it and javascript just sees a 200 response with a weird body. So I've updated scratchr2 to return a special response for banned `/session/` requests.
isolate cookie business logic from react mixin logic so that they are more modular. And use the cookie business logic to set translation objects on the window