HTTP: Session-Context sensitive SignatureCalculators

adds the possibility to set a signatureCalculator as Expression[SignatureCalculator]

This allows you to e.g. use a user-specific key to sign a request. While it has to change a few internals, it leaves the API unchanged except for adding:
  signatureCalculator(Expression[SignatureCalculator]])
as a way to specify the signature calculator
Here, Failures are silently swallowed.
I'd rather have sign return a Validation[Request] so the error gets properly reported and the request fails.