Optimize cardinality-insensitive aggregations over partition keys

This optimization rewrites aggregations that are insensitive to the
cardinality of their input (i.e., min, max, distinct aggregates) as
partition metadata queries when the input columns are only partition keys

These are a few examples of queries that benefit:

    SELECT min(key), max(key) FROM t

    SELECT DISTINCT key FROM t

    SELECT count(DISTINCT key) FROM t

    SELECT count(DISTINCT key + 5) FROM t

    SELECT count(DISTINCT key) FROM (SELECT key FROM t ORDER BY 1 LIMIT 10);

    SELECT key1, count(DISTINCT key2) FROM t GROUP BY 1
Fix IntelliJ warnings in task context objects
Add option to disable verbose task stats

Measure full driver process call timings
Add config option and session property to control individual operator method call timings
Improve accunting of blocked time
Implement numeric_histogram aggregation function

This is a function for computing approximate histograms based loosely on

    Yael Ben-Haim and Elad Tom-Tov, "A streaming parallel decision tree algorithm",
    J. Machine Learning Research 11 (2010), pp. 849--872.

It supports the following signatures:

- numeric_histogram(bigint buckets, double value, double weight) -> map<double,double>
- numeric_histogram(bigint buckets, double value) -> map<double,double>

The second variant is a shorthand for weight = 1
Preserve the value of argLine for surefire plugin

This variable is set by the JaCoCo plugin to configure the agent.
Allow VARBINARY in MapParametricType
Swap Intellij annotations for JetBrains annotations

Change JetBrains annotations to compile scope
Add new ORC reader implementation
Add metadata abstraction for ORC
Add OrcPredicate abstraction

Move TupleDomain filterint to TupleDomainOrcPredicate
Extend custom ORC reader to support DWRF
Add slow and fast OrcTests
Implement OrcInputStream.resetStream
Add missing snappy dependency
Move static methods to a separate class

This seems to confuse TestNG, which tries to invoke some of the public
static methods during setup
Add dummy field to TestingSplit

This is to avoid exceptions due to Jackson refusing to serialize/deserialize
an object with no fields