This PR is based on #6909 which explains the commit history and the big diff.
I've moved data files related to internationalization into the new
Intl component (introduced in #6909) just like in Symfony's Intl component.
Previously, those data files were manually included, and
$GLOBALS was used. Now it's been replaced with classes.
The tests pass on Travis but on 5.3.3 the sh script ends with a segfault :/ I have no idea what's going on, everything seems fine (tests are all OK)
needs to be rebased, Looks good to me!
Please review the last commit (de53c1b306): it solved the eternal "MySQL server has gone away" (at least here). If OK, then it's good to be merged.