17203 - Dsh plugin uses discovery instead of rpcutil

Dsh application was not working because it was looking for the discovery
agent which does not have a DDL.  After applying this fix, the application
now uses rpcutil and no longer fails.
17213 - Try to ensure the agent section is always used when configuring puppet

Puppet 2 requires you to set $puppet_application_name before requiring
puppet else the settings/defaults/config classes will assume apply

This is unfortunate because there is also no way at all to re-read the
config files once its been incorrectly initialized.

With this change we catch most of the known cases where we require
puppet and make sure they all set the preference to agent which seems to
be the most likely section people might want a long running daemon that
interact with Puppe to use.
Merge branch 'master' of git://github.com/puppetlabs/mcollective-plugins
15472 - rewrite puppet agent

A new Puppet Agent manager for MCollective using new MCollective
and Puppet features.

Compatible with Puppet 2.7 and 3.0.0
Fix format for aggregate functions
Add tests for the agent
Ensure we use latest mcollective-test and update some failing tests
Add some more tests
Add a load of tests
Add a resource name validator
Adjust the puppet agent DDL to use features that were broken in 2.2.0
Now requires at least mcollective 2.2.1
Add usage information
Vendor the puppet agent manager gem
Merge branch 'feature/master/15472' of github.com:ripienaar/mcollective-plugins into feature/master/15472

Conflicts:
	agent/puppet/agent/puppet.rb
	agent/puppet/data/puppet_data.rb
	agent/puppet/data/resource_data.rb
.