Suggestion for supporting single header fields.

Motivation:
At the moment if you want to return a HTTP header containing multiple
values you have to set/add that header once with the values wanted. If
you used set/add with an array/iterable multiple HTTP header fields will
be returned in the response.

Note, that this is indeed a suggestion and additional work and tests
should be added. This is mainly to bring up a discussion.

Modifications:
Added a flag to specify that when multiple values exist for a single
HTTP header then add them as a comma separated string.

Result:
Allows for responses to be smaller.
What about the non-collection based versions of the `add` methods?  Should we be doing similar operations for those methods?  For example if `add("foo", "goo")` is called and then `add("foo", "goo2")` is called what is the expected behavior?