Add methods and tests for BitSets, and re-organize tests.
Throttle down PartiallyOrderedSetTest.
Refactor test infrastructure to allow testing against heuristic bushy-join optimizer.

Add enum OptiqAssert.SchemaSpec, to allow more uniform use of various schemas in the test suite.
Convert Hook to use Guava Function (was linq4j Function1).
[OPTIQ-349] Add heuristic join-optimizer that can generate bushy joins

Add Util.human(), to format numbers like 'du -h' does.

Try harder to estimate row-count from abstract RelNodes.

Implement Metadata.toString() in reflective metadata provider.

Add row-count estimates to TPC-DS schema, and run heuristic bushy join algorithm on TPC-DS query 17.