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