Fix `S3Storage.delete()` when using preloading

When `AWS_PRELOAD_METADATA` is `True` the function
`S3Storage.exists()` looks in `S3Storage.entries` whether a file
exists. This dictionary of files is, however, not updated when calling
`S3Storage.delete()` and so `S3Storage.exists()` will return bogus
results if you use it on a file that was recently deleted.
Move `/S3.py` to `/storages/utils/S3.py`

This makes it possible to directly import the `S3.py` utility module
when django-storages is installed as pip-package, e.g.
`from storages.utils.S3 import CallingFormat`.
Fixes a conflict with easy_thumbnails's thumbnail generation

This error is fixed:
```
File ".../site-packages/easy_thumbnails/source_generators.py", line 30, in pil_image
    source = BytesIO(source.read())
TypeError: 'str' does not support the buffer interface
```
fix
Merge pull request #11 from farhodjon/patch-1

Fixes a conflict with easy_thumbnails's thumbnail generation
Merge pull request #10 from malthejorgensen/py3-utils-dir

Move `/S3.py` to `/storages/utils/S3.py` (resolves issue #9)
Merge pull request #8 from malthejorgensen/py3

Fix issue #7. Thanks
Merge pull request #2 from coagulant/py3

re merging main branch chsnges