Remove insane s3 calls.

The default implementation of s3 for pyfilesystem is insanely
heavy on fact checking.
This leads to excessive s3 calls which can easily 100x your S3
bill (which we've found).
This implementation removes much of the fact checking and some
unneccessary logic for kv stores.
This could probably be improved, but S3 really suits a KV style
API, not a file system.
Removed many spins on key creation / destruction. This is expensive.
Removed many isdir / isfile checks.
Remove parent directory checks on directory / file creation.
Removed many recursive calls that only need to be single calls.