Fix s3 create multipart upload for sigv4

Fixes https://github.com/boto/boto/issues/2609

The changes I made should only affect POST requests for s3 while using sigv4.  Behavior for other services will remain the same. I originally removed::

        if http_request.method == 'POST':
            return ""

in the ``canonical_query_string`` method. However, this cause integration test failures in services like ``sqs``. So, I reverted and overwrote this method specifically for s3.  CreateMultipartUpload now works for s3-sigv4.

cc @danielgtaylor @jamesls 
Can you add a note about why these are copied? It's kind of difficult to follow IMO.