Further remote puppet fixes

* We need to wrap the call to the shell function in quotes
* if command instead of if ! command to fail on error
* Be explicit about the delimiter to xargs
* Actually, you know, put the m suffix on the timeout so it's not 30
  seconds
* Have a wrapper function that returns 0 for the parallel runs of all
  the puppet, otherwise xargs bails out

Change-Id: I091e8f53093d358019ae03bfb330280ab8c7cd2e
Merge "Further remote puppet fixes"