Fix grouping semantics in JoinCompiler

Simplify JoinCompiler by using ByteCodeExpression to consolidate common sequences.
Add hashRow to PagesHashStrategy
Fix grouping semantic in GroupByHash

Rewrite GroupByHash using compiled PagesHashStrategy
Rewrite ChannelSet using GroupByHash
Add utility methods for equals and hash of type

Utility methods performn equals and hash code of sql values with respect for nulls
Simplify OrderingCompiler
Simplify JoinProbeCompiler