optimize group by primary keys queries
use StandardCharsets.UTF-8 instead of Charset.forName(..
don't recalc duration on duration() calls

The RestSqlActionTests where flaky because duration() was
called multiple times and changed in-between.

Would be even better to set the duration in the ctor but
then we would have to break backward compatibility because
we would have to change the serialization from writeVLong to
writeLong
fix duration() that broke with previous commit
prepare release 0.42.0
fix npe in clusterMasterNodeExpression

masterNodeId can be null for example if there aren't enough
nodes to form a cluster due to the minimum_master_nodes
setting
added documentation for having clause
implemented dummy FilterProjection/Projector
added filter projection implementation
implement having clause analysis
improve testhelpers
run group by query on shard if table is clustered
by group by key
fixup! run group by query on shard if table is clustered by group by key
support having on global aggregations