Allows headers dict to contain iterables

Implementing feature in #272

HTTP allows for a header to be sent multiple times with different values
(provided they could otherwise be combined into one header with an ;
character).  This is the current preferred method for setting cookies
with Set-Cookie.

Added support for provided header values as iterables, for which each
item in the iterable will be in it's own header line.  Order is
preserved, as the HTTP spec requires.

Added documentation for feature.

Ref: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2