Sign header names, use signature param, and doc fixes.

Included in this pull request:
- signs header names
- uses a "signature" param instead of the incorrect format using params and a base64 string
- adds a httpVersion option
- a few minor fixes
- more strict param parsing
- a number of doc updates for these changes and other fixes