15317 - Aggregate functions do not work in batched mode

Previously the aggregate functions were only called in normal call mode
we now also call them in the batch call mode
15323 - unable to use parentheses in regex in compound filter

In the past the scanner incorrectly tried to tokenize a regular
expression as a functions when it identified a parentheses inside the
regular expression. Example "hostname=/host(1|2)/"

The scanner now ignores everything between forward slashes when
tokenizing statements that contain regular expressions.
15323 - unable to use parentheses in regex in compound filter

Update changelog
15344 - converting CLI provided data to DDL type data does not work in rpc application

Previously just calling DDL.string_to_boolean worked but with the recent
restructure of the code this fails.

We deliberately silenced these errors allowing later DDL validation to
highlight any problems.  This both worked - DDL validation stopped bogus
data - but it also didn't work as the failures and code error were
masked.

We now propagate those errors to the CLI early which gives better user
feedback
15345 - re-colorize console logger log lines

During recent work on #14254 the color helpers were moved from the
RPC::Helper to the Util class, during this we introduced an undesired
change to the console logger that results in it not doing colors at all.

This fixes that and creates tests for the cosole logger
15348 - aggregate functions should have access to the full reply not just the data section

While first designing the aggregate interface we thought aggregate
functions would only need access to the data and not information like
reply status or sender.

In exploring what kind of functions can be written we decided to write a
function that detects outliers in result sets and found we'd want to
report the outliers by name and data.

This commit makes the full reply available to the aggregate functions so
they can figure out hostnames and status etc as well
15348 - aggregate functions should have access to the full reply not just the data section

Correctly pass all the data to the aggregate functions
15366 - deterministic random selection only works with % choices

When the initial work was done to support deterministic random
selections of hosts we only supported this for percentages of hosts but
there is no reason we cant support the same behavior for fixed number of
hosts

This commit adds support to both types of limits
15348 - aggregate functions should have access to the full reply not just the data section

A further rework of the aggregate functions, passing in the full reply
is problematic as there are several representations of the full reply.

We now use the RPC representation of a full reply which should be least
surprising to the user

Add tests and fix some stats tracing during block mode for rpc results
maint: fix old google code urls
15421 - Update OpenBSD port files to current version of mcollective

Update OpenBSD port files for MCollective 2.1.0
15368 - Plugin Packager dependencies should include the correct version

In the past packages dependencies were defined by the package name only.

Dependencies are now created with the correct package version.
15445 - code generator should not put metadata in agents only ddls

In the past the agent code generator generated metadata in the agent
file.

Metadata is now limited to the ddl only.
15445 - code generator should not put metadata in agents only ddls

update changelog
15273 - add an option to force display => failed behavior to rpc app

Since introducing summaries in the DDL it seems it would be common to
only ever want to see the summaries for some sets of results.

A package status query for example might scroll for pages when really
all you want is the summary.

This patch adds a --display flag that takes ok, all or failed as options
which maps to :ok, :always and :failed in the DDL display field