Fix EffectivePredicateExtractor range summary bug

Occurs when the RangeSet has no ranges.
Add tracking of latency and failures for hadoop api calls
Add tracking of failures for metastore API calls
Fix JOINs that have ORDER BY rand()

Previously "Only deterministic expressions may be considered for rewrite" exception was thrown
Fix build failure

AsyncHttpClient.AsyncHttpResponseFuture was removed from airlift
Fix handling of Hive timestamp in maps/lists

Hive timestamp was serialized as a string when it was in a map/list, but
as a bigint when it was a primitive. This makes it always be serialized
as a bigint of seconds.
Also, add more unit tests for RCFile formats
Add bootstrapped aggregation
Use custom block in bootstrapping to generate poissonized blocks
Add null checks to create*Block

Make the errors more explicit for calls like this, which do not do what the caller expects due to varargs semantics in Java:

  createStringsBlock(null)

Also, remove the @Nullable annotation as it's ambiguous: does it refer to the varargs parameter or to each of the varargs elements.
Upgrade to commons-math 3.2
Poissonized Sampling With Replacement
Change SampleOperator to use sample weight framework
Fix materialization of rows with zero sample weight
Fix warnings in AbstractTestQueries
Add support for rescaled poissonized sampling
Add SQL documentation
Rename analyzer.approximate-queries-enabled

Change name of config flag to analyzer.experimental-syntax-enabled,
since it's used to gate more than just approximate queries (rescaled
sampling)
Add JDBC feature DatabaseMetaData.getColumns
Change test query logging to include h2 time
Add index to h2 on custkey

Makes test suite almost twice as fast