Expose Buffer class in AWS.util.buffer
Optimize SigV4 signing when making multiple requests to same service

Improves performance almost 2x with subsequent calls. Optimization
is performed by caching last used final HMAC secret key for a given
service. Also avoids re-encoding of Buffer objects during initial
calculation.

Benchmark data:

old SigV4#sign x 6,452 ops/sec ±0.89% (92 runs sampled)
new SigV4#sign x 11,272 ops/sec ±1.89% (87 runs sampled)