Fix InvalidSignatureException when using SigV4

This regression was caused by adding caching to SigV4 request signing
(0f2e7232b92d15b6c4577e6cc3e5715387b4aa3f) which improved performance
2x on subsequent requests but was incorrectly invalidating cache when
the date or access keys changed. This change busts the cache if
access key ID changes (in addition to date, region, and service name).

A related fix to invalidate the cache on date changes was added in
0a4d60989b432fd85a1c10c84b2e8379780bcdc0.

Fixes #168, #171