19541 - Support infinite runalls

This adds puppet command style infinite management of puppet runs
centered around a minimum amount of time the user wants runs across his
estate to take

The next step towards a new commander would be just a new command
or application that adds config file, logging and daemonization
to create a new commander but this code now completes all the
logic such a commander would need