Updated the GS classes to use new-style classes as well.
Remove unnecessary '?' from req.path on POST

The if/else logic in add_auth on line 491 only handles if qs and POST.

But if you're POSTing with no query string, execution falls into the else condition on line 497 and an unnecessary '?' is added with a blank query string.

My elastictranscoder.create_job calls were failing due to the unnecessary '?' in the path. It would return:

JSONResponseError: 403 Forbidden
{u'message': u"When Content-Type:application/x-www-form-urlencoded, URL cannot include query-string parameters (after '?'): '/2012-09-25/jobs?'"}

I'm not sure why, but the bug only happens when running on Google App Engine. My local dev_appserver was able to make the create_job request just fine.
Return the StepSummaryList from this call
Updated conn params for security_token.
Return the x-amz-restore header with GET KEY and fix provider prefix.

Currently x-amz-restore is only supported by HEAD KEY but GET KEY also
returns the header when it has been successfully restored and the
restored key is awaiting expiry. Fixed the provider 'x-amz-' prefix
part so that it's consistent with other standard headers. Previously,
it was hardcoded.

This patch is hard to automate a test for as transitioning to GLACIER
and restoring back from GLACIER both take time. This change has been
manually tested.
Added a fix for anonymous S3 requests.

The added ``time.sleep`` is needed in the tests to let the ACL take effect. Without it, the test consistently fails for me.
Added tests around opting-in on SigV4 for S3.
Throw an exception if using SigV4 w/o a host.
Extracted the common config altering bits.
Fix LIST MULTIPART UPLOADS api by re-adding delimiter and prefix params.

This has been broken since the below commit added validation of kwargs

   commit bace7b66c999873cd5d23a54cd9570f912e89b93
   Author: Daniel G. Taylor <danielgtaylor@gmail.com>
   Date:   Fri Oct 25 11:22:20 2013 -0700

       Validate S3 method kwarg names to prevent misspelling. Fixes #1782.
Add a unit test with delimiter and prefix handling.
Only pull name tags for extant instances
Fix boto import for invocations without a region
Merge remote-tracking branch 'jimbrowne/elbadmin-boto-import' into develop
Fixes #2002.
Merge branch 's3-anon-fix' into develop
Fixes #1988 & #1992.
Merge remote-tracking branch 'jimbrowne/elbadmin-dead-instances' into develop
Fixes #2001.
Merge remote-tracking branch 'tpodowd/fix_broken_multipart_listing' into develop
Fixes #2000.
Merge branch 'backfill-sec-token' into develop
Fixes #1989, #1942.
Merge remote-tracking branch 'webfanatic/develop' into emr_step_summary
Fixed unit test for #1944 (StepSummaryList)