HashTable && no BoundRowType/Position

HashTable is not its own class which contains the KeyWrapper
HashTableLookup & Using_HashTable now utilize this
row binding position and bound row type are no longer passed to
HashTableLookup_Default
Optimizer, API, Rules, ITs have been changed to reflect this
JoinAndIndexPicker fix & CostModel

Now checks for proper join type then tries the HashJoin
CostEstimator/CostModel/CostModelMeasurements added to use for
HashTableJoin,
actual values for measurements need to be found using a CT test
Lots of different changes

Keywrapper now correctly uses bindings instead of context
OperatorAssembler.AssembleUsingHashTable now fixed to avoid error of
non index scan loader
JoinAndIndexPicker now only considers no null plans
Select_HashTableCT

New ct built to get cost model measurements for HashJoin using a table
set sql-layer to user persist it while working on CT