make the listFiles method return files in sub-directories. 

This is to facilitate usage like it was S3.
It's just unfortunate that the caller has no way to differentiate between an error (bad/nonexistent path, permissions problems) and an ok but empty directory.  I still think that an exception is a better way to go here.