Update algorithm to sign header names.

- See issue #10.
- Header names must be included in the signed string to avoid an issue
  where an attacker could switch header list order and header value
  order and end up with the same signature for different requests.
- Update parser, signer, and tests.
- Slight change to signer to always treat 'request-line' as the request
  line and never check for a header named 'Request-Line'.
- Add test from spec into a test file.
- Update spec text and example values.
Add 'dsa-sha1' to spec since code supports it.
Uppercase algorithm name for createHmac().
Add httpVersion to signer options.

Allow custom HTTP version and default to 1.1.
Put signature in the "sig" param.

- HTTP specs don't allow both a param list and a base64 value.
- Move signature base64 value into a "sig" param.
- Update signer, parser, spec doc, and all tests.
- Make parser more strict.
Link to HTTP Signature Scheme spec doc.
Add title header.
Change param from "sig" to "signature".
Update spec for signature changes.

- Change "sig" to "signature".
- Change from non-param signature to param version.
- Explain example keyId values.
- Merge header list examples.
- More example explanation.
- Use same markdown style for example blocks.
Merge pull request #11 from digitalbazaar/master

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