API JS i18n files with short locale names, generated by build task

The files are uploaded to transifex.com now, which means we needed
to consolidate the file names (= locales). Since Transifex doesn't allow
arbitrary JavaScript structures, we're using an intermediary JSON
format which gets transformed into the JS used by the framework.

See https://github.com/silverstripe/silverstripe-buildtools/commit/b59f3858afd5c46219a42b04b2742c7d247199c9 for generator logic.

Fixes https://github.com/silverstripe/silverstripe-framework/issues/2499
Merge pull request #2609 from chillu/pulls/js-i18n-3.1

API JS i18n files with short locale names, generated by build task