Run external processes reliably with many options PR: 33439 Submitted by: Seamus Venasse <svenasse@polaris.ca>