Extract the construction of count distinct expression into its own method

This is a small refactoring (no changes in behavior) allowing concrete implementations of ERXSQLHelper class to provide their own mechanism to construct the SQL expression to count distinct rows. The default implementation doesn't support composite primary keys. Concrete implementations of ERXSQLHelper may override the `sqlForCountDistinct` method to change this behavior according to each database syntax.
Add support to count distinct rows based on multiple columns using Postgres
Merge pull request #474 from hprange/count-distinct-general

Extract the construction of count distinct expression into its own method
Merge pull request #475 from hprange/count-distinct-postgres

Add support to count distinct rows based on multiple columns using Postgres
Add some generics to ERXGenericRecord.
Removed a useless generics that raise warnings with the default EOTemplate.
Changed 2 visibility to remove synthetic-access warning and a argument name hiding field warning.
Merge pull request #484 from spelletier/Add_generics_to_ERXGenericRecord

Add generics to ERXGenericRecord