Support tags & agents at applying status

Hi Simon,

This PR adds support for passing the '--tags' parameter through to the Puppet agent so that partial catalogs can be applied to a server.  In addition, rather than erroring out if a Puppet agent is already mid-run when an MCo request is acted upon to kick off another run, we instead just sleep until the previous run completes.

Cheers,

Matt.