Create vendor source directory before attempting to write to it

This fixes a bug I was seeing that looked like:

`sh: /Users/michaelnussbaum/.../spec/fixtures/vendor/puppet/source/15aacc0b2aa5d1f7430974a9805725283953744d.tar.gz: No such file or directory`