support multiple boto versions for header writing
support multiple boto versions for header writing

Depending on the version of boto, different methods are necessary for
manipulating headers. We now support 2.0rc1 and 2.0 by sub-classing
boto.s3.connection.S3Connection and overloading
boto.connection.HTTPRequest.authorize, respectfully.

robbat2/s3-tests,basho/s3-tests,piousbox/s3-tests,basho/s3-tests,smithfarm/s3-tests,jmunhoz/s3-tests,Nexenta/s3-tests,tobegit3hub/s3-tests,piousbox/s3-tests,dreamhost/s3-tests,ceph/s3-tests,robbat2/s3-tests,andrewgaul/s3-tests,SUSE/s3-tests,Intel-bigdata/s3-tests,Nexenta/s3-tests,timuralp/s3-tests,timuralp/s3-tests,tobegit3hub/s3-tests,piousbox/s3-tests,dreamhost/s3-tests,ceph/s3-tests,Intel-bigdata/s3-tests,andrewgaul/s3-tests,Nexenta/s3-tests,Nexenta/s3-tests,SUSE/s3-tests,jmunhoz/s3-tests,smithfarm/s3-tests