Split TestingPrestoClient into base and implementation

This allows other clients to use the infrastructure to pull data out
of a presto server. The Kafka test suite uses this to pull data out of
tpch and write it into the Kafka topic out-of-band (the kafka
connector is read-only).
Add Kafka connector
Move utility methods into Raptor

These utility methods are internal to presto-main and should not be
depended on, even though they are technically available to the plugin
(which depends on presto-main due to ConnectorDataStreamProvider).
Use shared utility method
Upgrade provisio plugin to 0.1.9
Add release notes
Add support for variable arity functions
Add support for parametric types
Add ARRAY type

* Add ARRAY as a parametric type
* Add subscript operator as a parametric function that operates on any ARRAY type
* Add new syntax for ARRAY constructor (i.e. ARRAY[1,2,3])
Implement CARDINALITY
Add CONTAINS function for arrays
Add map type

* Add subscript operator for maps
* Add map as a new parametric type
Add documentation and release notes for arrays and maps
Add tests for Signature
Make TypeParameter a top-level class
Refactor specialize to take bound type parameters
Rename IdentityCastParametricFunction to IdentityCast