FIX make augmentSQL API consistent for strict PHP

This references silverstripe/silverstripe-translatable#113
For that issue, we needed to have the DataQuery as the second parameter to
DataQuery's augmentSQL call.  Fortunately, DataQuery was already passing this
argument.  However, where the function was defined in DataExtension, the
argument was not present.  Thus, subclasses of DataExtension could not add the
parameter to their function signature if they were running in PHP strict mode
because PHP will complain that the signatures don't match.
Merge pull request #2042 from jthomerson/fix_augment_sql_api

FIX make augmentSQL API consistent for strict PHP
Updating FileTest to use the correct shortcode format with commas
Revert "FIX make augmentSQL API consistent for strict PHP"

This reverts commit ab40dcc0ca118a782b95491eacd927a6f6f8c092.
NEW Merge i18nTextCollector with existing (fixes #1838)

This is a necessity for any further 3.1 pushes of master files to getlocalization.
Because we'd otherwise remove existing master strings for CTF etc,
which means we can no longer backport new translations to 3.0
(and there's no way for users to contribute translations to 3.0 via getlocalization).

It's still a very monolithic class, but at least I've refactored it to return
all collected strings without writing it to files (for easier testing).
Merge remote-tracking branch 'origin/3.1'