Add test to demonstrate Python 3 multiple headers bug.
Don't write header values multiple times.

On Python 3, response.msg.keys() contains the same value multiple times if
there are multiple headers with the same value.  Work around this by
converting to a set before iterating over it.
Fix multiple header behaviour.

Join multiple header values together, rather than losing duplicates with a
dict.
Merge pull request #97 from matt-thomson/multiple-headers

Fix serialization/deserialization of multiple headers with the same value