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.
Having this `if` check in the loop means it must be checked every iteration, but we know it will only be true for 1 of the iterations.  Consider re-factoring loop to (and possibly adding a method for common functionality if necessary) avoid the need to check this in the loop.  Something like the following:

```java
if (values.length > 0) {
  int end = values.length - 1;
  for (int i = 0; i < end; ++i) {
     singleValue.append(values[i]);
     singleValue.append(", ");
  }

  singleValue.append(values[i]);
}
```