(feature)Introducing batch_mode in bucket deletion to delete contents without getting the full list
s3.object_batch_delete() function added, rb operation uses batch delete to remove keys prior to bucket deletion
useless comment remove
object_batch_delete() gets full remote_list (consistent with _do_deletes())
getting sequential batches for dealing with S3s eventual consistency
Merge branch 'master' of personal.github.com:vamitrou/s3cmd
better MIME magic library handling

The different mime magic libraries expect input to their from_file(),
file(), and id_filename() functions, respectively, to take either a
filesystem-encoded (generally UTF-8) string, or a unicode filename.
Different versions of the libraries each expect different inputs for
filename though.  This is annoying.

Here, we call these functions, first with a UTF-8 encoded string
filename.  If that fails with a UnicodeDecodeError, we try again
passing a unicode filename.

Also, delete mime_magic_buffer() everywhere, and the introspection of
gzip files to see what type of object is inside.  It doesn't matter to
the S3 web server - it needs to be type application/x-gzip, not
type=application/tar encoding=gzip (as mimetypes would tell us). We
stopped using the encoding value here as HTTP Content-Encoding in
commit 44e35899a anyhow.
another mime magic fix

The None return should be a tuple (None, None) instead.
README file - updated copyright and text
README - Added s3cmd description: 'What is s3cmd'
Updates to INSTALL file
Removed superfluous text from end of GNU license

"How to Apply These Terms to Your New Programs" not needed in license
Added GNU General Public License disclaimer
Removed directory artwork from project (no longer needed)
Bugfix: make a decent assumption about default platform and pick .s3cfg
location using os.path.expanduser, rather than relying on $HOME to be set.
import getpass for Windows
don't crash printing a warning on unknown uid/gid
catch and report XML in the XML ParseError
add SortedDict.__getslice__()

It's nice to think of SortedDicts as sorted lists.  Which means one
should be sliceable.
fix subcmd_batch_del(), using SortedDict slices

subcmd_batch_del() was sending the entire remote_list() as a single
batch delete operation to S3.  That fails for >1000 objects, though we
were ignoring the fail.  It also can timeout uploading a huge list
(one example was deleting 40k objects; a 7MB deletion list XML) and
trying to churn through it.

The whole looking for a marker bit was poor.  We have the remote_list,
we just couldn't slice it up.  The previous commit adds the getslice
operator, so now we can.  This greatly simplifies the delete operation
as we can iterate over slices of 1000 until it's empty.