Body hash

Extend signature generation to support arbitrary request payloads by hashing them and using the hash for signature computation. Extends in the sense that form encoded bodies are unchanged in terms of signature computation.