Use a custom sender for glacier archive upload

This sender will reset a filelike object so that
retries work properly.  Fixes #1189.
Merge branch 'glacier-sender' into develop

This fixes #1189.

* glacier-sender:
  Use a custom sender for glacier archive upload
Changed boto auth plugin framework to allow multiple auth plugins supporting requested capability
Merge pull request #1220 from mfschwartz/develop

Changed boto auth plugin framework to allow multiple auth plugins suppor...
Add validate_checksum arg to get_output

Fixes #1000
Merge branch 'glacier-get-chunk' into develop
Fixed unreliable file closing in set_contents_from_filename and get_contents_to_filename methods of boto.s3.key.Key
Fixed unreliable file descriptor closing, added file cleanup for get_contents_to_filename()
Parse updateTime field in spot instance requests

The SpotInstanceRequest was defined twice, and the parsing for
the updateTime attr was wrong in one of the classes, so I just removed
the incorrect version.

Updated the unittest accordingly.
Merge branch 'spot-instance-parse' into develop

* spot-instance-parse:
  Parse updateTime field in spot instance requests
Account for empty archives in hash calculations

This will send back a response from glacier stating
that we can't have a content-length of 0.

I think this makes the most sense, especially if empty
archives ever are allowed, then we don't have to change
anything on our end.
Merge branch 'glacier-tree-hash' into develop

Fixes #1083.

* glacier-tree-hash:
  Account for empty archives in hash calculations
Merge branch 'hashbackup-develop' into develop

* hashbackup-develop:
  S3: cleanup if key.get_contents_to_filename fails
Merge branch 'vladimir-sol-develop' into develop

* vladimir-sol-develop:
  - Fixed unreliable file descriptor closing, added file cleanup for
  get_contents_to_filename()
  - Fixed unreliable file closing in set_contents_from_filename and
  get_contents_to_filename methods of boto.s3.key.Key

Conflicts:
	boto/s3/key.py
Update create bucket docstring

Fixes #1196.
Add docs for SpotInstanceRequest

Fixes #1210.
Removed overeager seek

The .seek(0) in Distribution._sign_string isn't necessary, any preparation of
the file object that needs to be done can be done outside of this bit of code
Merge branch 'seandst-develop' into develop

This replaces M2Crypto with rsa to sign urls
in CloudFront, fixes #1214.

* seandst-develop:
  Removed overeager seek
  Unconditional 'else' was causing breakage
  Changed Distribution._sign_string over to use rsa
  Cleaning up some trailing whitespace
Remove m2helpers module in contrib

There are other modules that can now validate HTTPS
connections, so this is no longer necessary.
Remove m2crypto as a dependency