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
make Failure fail the test