Fix regression with VARCHAR partitions in Hive

Fix the Hive connector to return Slice objects for the values of VARCHAR
partition columns instead of String objects. Also fix the Hive tests to
use Slice instead of String.
Static import Slices.utf8Slice
Simplify expression
Add check for unsupported Hive partition type
Simplify test table creation for S3
Fix JSON serialization of TimeWithTimeZone and TimestampWithTimeZone

Add test to verify serialization
Prefix date time type classes with Sql
Replace use of java.sql date time classes with custom classes

Add custom classes for all sql date time types.  This makes it easier to control
the things like serialization.  Additionally, java.sql types loose information
like session time zone.
Add support for time* with timezone in JDBC
Fix JSON serialization of interval types
Add support for interval types to JDBC driver
New CLA form
Fix exchange client leak when queries are abandoned

The query purger in StatementResource wasn't calling close() on query objects when purging
them from the list of active queries. As a result, abandonded queries would result
in StatementResource leaking an exchange client
Update to airbase 19

This updates Jetty to 9.1.4, which we hope will fix https://github.com/facebook/presto/issues/1138
Generify TupleDomain

This is a precursor to splitting the *Handle hierarchy so that connectors don't need to be aware of connector ids
Use "dual" for dual connector id

Some tests were incorrectly using MetadataManager.INTERNAL_CONNECTOR_ID
Split Handle hierarchy

There are now two parallel Handle hierarchies: global vs connector-specific. SPI operates in terms of the connector-specific hierarchy. The engine (analyzer, planner), operates in terms of the global hierarchy. Metadata/SplitManager/etc take care of wrapping and unwrapping calls and routing to the appropriate connector based on the connectorId embedded in the global handles.
Unify handling of information schema metadata and other internal connectors

They are all now treated as internal connectors. ConnectorManager is now responsible
for installing the information schema metadata when appropriate
Remove need for canHandle(...) in ConnectorMetadata
Register dual and system via ConnectorManager

LocalQueryRunner was installing the metadata, split manager and
data stream provider manually instead of relying on the existing
SystemConnector and DualConnectors