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