sql: evolve the equalityPredicate for joins towards a combined predicate for USING+ON.
sql: evolve the equalityPredicate for joins towards a combined predicate for USING+ON.

This patch extends equalityPredicate to separate the concept of
"equality columns" (to determine whether a row is selected for the
join or not) and "merged columns" (to determine which columns are
coalesced, as specified by USING or NATURAL).

Prior to this patch a boolean flag `mergeEqualityColumns` would
indicate whether *all* or *none of* the equality columns needed to be
merged. This patch replaces the flag by a count
`numMergedEqualityColumns` which determines how many of the equality
columns are merged. This will allow subsequent patches to add
additional non-merged equality columns.

vaibhavarora/cockroach,petermattis/cockroach,petermattis/cockroach,maxlang/cockroach,glycerine/cockroach,paperstreet/cockroach,vaibhavarora/cockroach,paperstreet/cockroach,vaibhavarora/cockroach,maxlang/cockroach,vaibhavarora/cockroach,maxlang/cockroach,glycerine/cockroach,glycerine/cockroach,paperstreet/cockroach,petermattis/cockroach,petermattis/cockroach,glycerine/cockroach,glycerine/cockroach,paperstreet/cockroach,petermattis/cockroach,glycerine/cockroach,glycerine/cockroach,paperstreet/cockroach,vaibhavarora/cockroach,petermattis/cockroach,vaibhavarora/cockroach,glycerine/cockroach,maxlang/cockroach,paperstreet/cockroach,maxlang/cockroach,petermattis/cockroach,vaibhavarora/cockroach,maxlang/cockroach,maxlang/cockroach,petermattis/cockroach,vaibhavarora/cockroach,paperstreet/cockroach,maxlang/cockroach,paperstreet/cockroach