puppetssh: add config option to wait for command to exit instead of detaching it

Little history: we're implementing a deployment pipeline in Jenkins using The Foreman APIv2 and puppet. The pipeline is currently broken at the point where we execute a puppet run via Foreman API in a deployment job and directly trigger the webtests job. At that time puppet is still busy updating the deployment.

Currently the puppetssh command is detached followed by a return 0. Waiting for the command to finish fixes our pipeline "race condition".

This PR adds a new config option for puppetssh to make this configurable, defaulting to false (so, no waiting, no change from previous behaviour).