Add partition_schema, which covers hash, range, and boardcast
partitioning.
Exchange now supports multiple partitoning schemas, namely hash and
boardcast.
Fixed some bugs in nest-loop-join.
Rename some parameters in exchange.
Fixed another bug caused by carefulless merge.
The query optimizer now can handle nest-loop-join over two partitioned
data flows.
PartitionInfo now contains a new vairable, number_of_tuples_, which is
important for cardinality progation.
The loader updates the number of tuple per partition after load() or
insert().
Merge remote-tracking branch 'liwang0923/master'

Conflicts:
	BlockStreamIterator/ParallelBlockStreamIterator/BlockStreamNestLoopJoinIterator.cpp
	LogicalQueryPlan/Test/testcrossjoin.cpp
Iterator Message overflows, when the query is too complex.