Merge pull request #348 from cyberious/4.3.x

Add proper exception catching of Windows errors when CreateProcess does not succeed
Fix validate_cmd, previous addition of SystemCallError only works for Puppet 3.7, previous version throw different exception.  Wrapping in generic Exception catch all