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