Add __iter__ to HTTPHeader class

This is only in python3, so I had to backport
this method for python2.
Fix s3 auth

There were two problems from what I could tell.
One is that iterating over headers was broken in
python2 because the __iter__ method on the Message
class is py3 only.

The second was that the hex signature was a bytes
array and not str, which in python3 was being sent
as "b'signature'".

Verified that unit tests pass, and that I can make
s3 calls via the aws-cli in both py2 and py3.
Merge branch 's3-sig-fix' into develop

Closes #25

* s3-sig-fix:
  Fix s3 auth
  Add __iter__ to HTTPHeader class