Algorithms take key in #sign() not #initialize()
Context takes algorithm name, not instance.
KeyStore extracted and tested.
Context passes header_names, not headers, to Signer.
Algorithm::Hmac#name
README has usage example.
Set Authorization header in addition to Signature header.