Flush out documentation of generateSigningKey function
Use built-in hex encoding
Document and refactor URI encoding