Add CaseInsensitiveDict.
Update to newer spec.

- This updates to the newer (as of June 2013) HTTP Signatures spec.
  - Use signature key-value pair vs old (and invalid) format.
  - Handle 'request-line' meta-header.
- Add special case for 'host' header when using 'requests' lib.
- Use case-insensitive dict for header lookups.
- Refactor to allow HTTPSignatureAuth to reuse HeaderSigner.
- Allow secret to be a PEM encoded string.
Add tests.

- Include RSA keypair from spec.
- Add signing test cases from spec.
Update CHANGES.