System connector predicate pushdown bug fix
Update to Hive 0.12
Add Null type to type registry
Implement HyperLogLog type and associated functions

Adds the following functions for manipulating HLLs:
- approx_set: aggregation function to create an HLL from varchar, bigint or double values
- merge: aggregation function to merge multiple HLLs
- cardinality: scalar function that computes the cardinality for an HLL
Rename HashJoinOperator => LookupJoinOperator
Rename JoinHash to LookupSource

This is preparation for adding index joins

Extract LookupSourceSupplier from HashSupplier
Rename HashSupplier to SettableLookupSupplier
Change position from int to long in LookupSource
Add support for index joins
Add unit tests for index joins
Remove unnecessary methods from BlockBuilder
Clean up new Type and Block SPIs

Add JavaDocs
Rename methods and parameter names
Cleanup IDE warnings

Add missing @Override annotations
Replace uses of StringBuffer with StringBuilder
Make utility classes final
Rename NullType to UnknownType and move to presto-main
Require Type implementations to have a getInstance method