* test(QueryBuilder): add test for countDistinct with multiple columns
* test: add integration test for countDistinct with multiple columns
* feat(QueryBuilder): support multiple columns for countDistinct
* feat(QueryBuilder): support object alias notation for aggregate methods
i.e. `count`, `countDistinct`, `max`, `min`, `avg`, `avgDistinct`, `sum`, `sumDistinct`
* test: fix integration tests for countDistinct
* fix(QueryBuilder): fix countDistinct formatting with multiple columns
* refactor(QueryBuilder): add _aggregate from helpers
* fix(QueryCompiler): only use parens for distinct with postgres
* test(QueryBuilder): remove unsupported tests
for count with multiple distinct columns in databases where this is
not supported
* refactor(QueryBuilder): improve readability
* Make postgres client wrapIdentifierImpl independent of `this` context
* Also fixes a bug where only single digit indices were accepted.
* add customWrapIdentifier helper for client
* customWrapIdentifier is one more level of abstraction for the wrapIdentifier "pipeline"
that allows the custom wrapIdentifier to be called without calling the `wrapIdentifierImpl`
* bufix: use custom wrapIdentifier in columnInfo. fixes#2402
closes#1028
- add support for count(distinct *), avg(distinct *) and sum(distinct *)
- min and max don't really make sense with distinct, so didn't add those