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.
Most of the non-collection based `add` eventually call `add(T name, T value)` but we should consider the ones that do not (i.e. `Headers<T> add(Headers<T> headers);` is another one).  Do you need to consider `Headers<T> setAll(Headers<T> headers)` and `Headers<T> set(Headers<T> headers)`?