17667 - run() call in an agent can return incorrect Process::Status

Previously the guard thread used in the #shell class would cause a race
condition when it tried to reap the pid before the process was finished
executing which led to systemu setting the wrong value to $$.

We now only try to reap the pid in the thread spawned by systemu if the
parent thread is dead and the subprocess created by systemu is still
around. This should remove the race condition that causes Shell to
return incorrect return codes and also avoid the creation of zombie
processes.
20550 - allow activemq ssl certificate and key to be set via environment variables

This commit adds the ability to specify the ssl key and cert used by the
ActiveMQ and RabbitMQ connectors as evironment variables.

When enabling SSL for the rabbitmq or activemq connector plugins, the
client will first check to see if an environment variable like

  MCOLLECTIVE_ACTIVEMQ_POOLX_SSL_KEY
    or
  MCOLLECTIVE_RABBITMQ_POOLX_SSL_CERT

has been set before looking in the client config file to determine the
key and or cert.
20550 - allow activemq ssl certificate and key to be set via environment variables

Changelog
18414 - Aggregate plugins should show up in mco plugin doc

In the past aggregate plugins did not show up when using 'mco plugin
doc'.

This commit adds the ability to mco plugin doc to show aggregate plugins
and adds ddl's for the three aggregate plugins that ship with
mcollective.
18414 - Aggregate plugins should show up in mco plugin doc

changelog
21429 - "mco plugin doc" fails with a unclear message when trying to describe a plugin that does not exist

In the past using mco plugig doc to describe a plugin that doesn't
exist but the type exists failed by raising an undescriptive exception.
An example of this would be mco plugin doc agent/rpcut

This commit changes the exception to a descriptive error message in the
style of "Could not find a 'agent' plugin named 'rpcut'"
21429 - "mco plugin doc" fails with a unclear message when trying to describe a plugin that does not exist

changelog
maint: fix failing plugin application test