Fix but when IS_GZIPPED is True
Dramatically improved the S3BotoStorage and GSBotoStorage.

- Fixed subclassing and setting handling.
- Use correct Key class for GSBotoStorage and use all settings correctly.
- Fixed tests.
- Initialize connection only when needed.
Update tox configuration to use its substitution feature added in 1.4 and use up-to-date dependencies.
Happy new year!
Added myself to AUTHORS.
Merged in darkness51/django-storages (pull request #50)

Fix but when IS_GZIPPED is True
Fix uploading with a file of the Google Storage backend (multipart upload isn't supported there).
Fixed key handling in S3Boto and Google Storage backend and made sure the Google Storage backend uses the correct file class and boto API for durable reduced availability.
Automated merge with ssh://bitbucket.org/david/django-storages
Minor cosmetic change on the error message shown if a bucket doesn't exist and isn't automatically created.
Added an exception about the need to have at least Boto 2.4.
Use boto's dateparser for getting the last modified time of a file.
Minor cleanup.
Added initial support for Windows Azure Storage
Add myself to AUTHORS
Minor refactorings
New storages.util module for commonly used functions among storages
Made S3Boto and AzureStorage use the new module
Minor bikeshedding about the utility module name.

--HG--
rename : storages/util.py => storages/utils.py
Prevent listing huge buckets on S3.

Previously, in when `AWS_PRELOAD_METADATA` is True,
`S3BotoStorage.entries` would list every file in the bucket. However,
if there is a `location` specified on the storage, we don't use the
whole storage bucket with that storage backend. So pass our `location`
as the `prefix` to the call to `entries`.
Add myself to AUTHORS
Bumped version, updated changelog