Add Exception handling when Terraform not on Path
I spent a couple hours helping a colleague debug why his python_terraform code was unexpectedly throwing FileNotFoundErrors. It finally boiled down to the terraform binary not being on Path. Windows didn't offer any helpful hints to which file in the error messages. I also tested it on Ubuntu which would at least provide that "terraform" was the file. This is a result of subprocess.Popen not knowing what to do with "terraform" and trying to open something by that name. When terraform is not on Path and the binary path not provided, it will always die on the call to p = subprocess.Popen(...). I added exception handling to better inform users, especially on Windows, what the issue likely is when not providing a path to the binary. I tried to work my way best around still getting the TerraformCommandError to logs while giving context.

