16735 - aggregate formatting should be done as part of output not as part of the plugins

maint: fix missing commits caused by #16411
16965 - Release 2.2.1

Update changelog, release notes and Rakefile
17138 - rpcutil#get_data always pass input to the data plugins even when none is expected

Previously all data plugins required an input even those that would not
logically do anything with that input.

Data plugins should though be able to have no input and this bug was
fixed in 2.2.1 but unfortunately the rpcutil#get_data action would in
the case of no input turn the nil into "" which means get_data could not
be used to retrieve data from such plugins.

This fixes that short coming, also removes some unneeded input
validation that is now handled by the DDL before invoking the agent
17137 - data plugins without input fails to show any help

The data help template assumed a query was set in the DDL, now that
queries are optional that failed and the templates refused to render.

Now showing a nice message in those cases
17442 - Update OpenBSD port files for MCollective 2.2.1

Update OpenBSD port files for MCollective 2.2.1.
17471 - Changes to RabbitMQ documentation

Fix direct -> directed and add the vhost as it seems like it's
defaulting to / when unset.
17515 - Use @buildtool instead of rpmbuild in rpm plugin packaging

Previously, even though the initialize method determined whether rpmbuild-md5
or rpmbuild would be used, when the rpm was actually built, a hardcoded
rpmbuild was used. This commit updates the rpmbuild to use the @buildtool
variable instead of `rpmbuild`.
17516 - Define BuildRoot in rpm plugin spec template

In EL5, BuildRoot is not automatically defined, so using `BuildRoot:
%buildroot` will cause recursion errors. This commit defines the BuildRoot
according to EPEL standards
(http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#Distribution_specific_guidelines).
BuildRoot will be overridden/ignored on later EL and on Fedora.
17515 - RPM Plugin Packager uses hardcoded `rpmbuild`

Previously, even though the initialize method determined whether
rpmbuild-md5 or rpmbuild would be used, when the rpm was actually built,
a hardcoded rpmbuild was used. This commit updates the rpmbuild to use
the @buildtool variable instead of `rpmbuild`.
maint: update changelog
17384 - MCollective::Connector::*#disconnect should substitute nil to @connection

substitute nil to @connection after disconnect
17384 - MCollective::Connector::*#disconnect should substitute nil to @connection

Update tests and changelog
17615 - default input parameters

MCollective has required and optional inputs.  Agents can supply
outputs and on the output side we support supplying default output
values.

We've not provided a way to provide default input values, this commit
adds the ability to supply default input values but they only get
processed for non optional inputs
17149 - Trivial fixes to make RPM building work with Ruby 1.9

Fixes for Ruby 1.9.
17149 - Trivial fixes to make RPM building work with Ruby 1.9

Changelog
17281 - Plugin Packager fails when building non agent plugins and specifying an absolute path

Plugin packager will now correctly identify package types when the
absolute path is given.
17281 - Plugin Packager fails when building non agent plugins and specifying an absolute path

Update changelog
18200 - get_data in the rpcutil should not restrict query to 50 characters

The get_data action had a query maxlength of 50 characters as it does
not really know what plugins are set to we have to pick a larger number
intead to cover most cases.

This commit moves it to 200 chars whcih should be enough to cover things
like long filenames and stuff users would realistically type on the cli
16616 - agent help template should include new agent features

We've recently added some DDL properties like default input and output
values but these never made it into the help output, this commit adds
this information.
16414 - Log action failures

When an action fails for unknown reasons we propagate the error back to
the client but not the full backtrace.  We also never logged the full
backtrace which made it very hard to debug failures in actions.

We now log on the server backtraces for unknown failures.

Also provide test coverage for the RPC::Agent#handlemsg method