When trying to download a file check if any of its directory fragments that would be recursively created exist as a file.
This fixes a bug where we only checked if the directory key was a file, but this will not catch cases like this:
downloading directory foo/bar/baz/
We needed to check if foo, foo/bar for foo/bar/baz are files in the
local filesystem. We were only checking foo/bar/baz
Resolves #40 (closed)