Add back support for sigv4 overrides

This allows you to change the signature version used when
signing requests for a particular service.

This isn't strictly needed to communicate with various endpoints,
any region specific signature versions are captured in _endpoints.json.
However, with S3 we sometimes need to switch to sigv4 even if it
otherwise wouldn't be required.

Looks like this code was still in botocore, it just was never updated to work with the
new v2 models.  So this PR updates the handler to work with the new v2 format where
signature versions are specified in the metadata of a service (and is now camelCased).


cc @kyleknap @danielgtaylor