Key-value implementations of BlobStore, such as S3, do not have directories. In following the
rackspace cloud files project, we use an empty object '#{dirpath}' with content type set to
'application/directory'.
To interoperate with other S3 tools, we accept the following ways to tell if the directory
exists:
- an object named '#{dirpath}_$folder$' or '#{dirpath}/' denoting a directory marker
- an object with content type set to 'application/directory' denoting a directory marker
- if there exists any objects with the prefix "#{dirpath}/", then the directory is said to
exist
- if both a file with the name of a directory and a marker for that directory exists, then the
*file masks the directory*, and the directory is never returned.