Bringing puppetctl up to date with what's in use at Mozilla

We track individual commits to puppetctl in a private svn repository and our public version is not automatically updated. We're switching to git soon, so that should change, but for now its just 1 big update to publish the latest version.