Centralize and sanify generation of synthetic group_by criteria

This should solve multiple deficiencies when a limited prefetch is ordered
by non-local columns (especially pre-multiplied ones). Also intelligently
solves many problems combining distinct with various non-selecting external
order criteria.

Most current behaviors should remain unaffected except for cases of
blatantly incorrect query generation (fingercross)
Clarify what happens on distinct + get_column($aggregate_alias)
Revert 2c300e45 - new backwards compatible SQLT got released

Work is being done to reintroduce the feature with a softer push:
https://github.com/dbsrgits/sql-translator/pull/26#issuecomment-27644756
Work around TB1.5 hanging with 5.19 - use unreleased github patch