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