15472 - rewrite puppet agent

A new Puppet agent capable of managing both Puppet 2 and 3.

This plugin vendors the puppet_agent_mgr gem to keep the dependency list
down.