Use MkdirAll instead to be more resilient.

This should address https://github.com/hashicorp/consul/issues/510. I am looking into the tests now.
We should defer an `os.RemoveAll` for the parent here, just so we don't leave lingering files in the temp dir when the tests are done.