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

Replaces https://github.com/silverstripe/silverstripe-framework/pull/2590