Fix StateCompiler to use classloader of interface

Fixes an issue loading the ML plugin
Load balance splits across nodes

The maximum number of splits running on a node are bounded.
In order to avoid starvation of queries with fewer splits, beyond the
maxSplitsPerNode, every node allows a certain number of splits to be
queued per query. The drawback of this approach is that when the system
is heavily loaded (wrt number of queries), then the number of tasks on
each node will increase linearly with the number of queries and each
node will have at least some splits queued for each query. The drawback
is limited only when the system is heavily loaded and is not
any worse off than the current approach.
fix typo
Document AT TIME ZONE syntax
Extract base classes for Type
Add checkType that takes an error code
TableScanOperator should be blocked until split is added

Also, TableScanOperator needs to delegate isBlocked behaviour to its data source
to gurantee the same call procedure with ScanFilterAndProjectOperator
Add SPI documentation
Add REST API documentation and overview of Presto
Add documentation for HAVING and GROUP BY clauses
Add intToLong
Improve aggregation compilers

Generate byte code for entire Accumulator classes, also refactor the
verification logic to separate it from the compilation
Add getTypes to TypeManager
Add getTypeManager to Metadata
Add support for compiling accumulator that need to see nulls
Implement MAX_BY
Change CANNOT_DROP_TABLE to PERMISSION_DENIED
Add NOT_SUPPORTED error code
Skip warning when drop table cleanup fails

We try to cleanup any created tables in tests by dropping them, but the
drop fails if they don't exist, which usually means the table was never
created in the first place. Warning about this is confusing because the
warning is printed before the test failure and obscures the actual cause
of the test failure.
Add table rename support

Syntax: ALTER TABLE old RENAME TO new

This feature is disabled by default for the Hive connector.
Enable by setting 'hive.allow-rename-table' to 'true'.