create Headers type that will safely and conviently deal with duplicates

Unfortunately, HTTP can have duplicate headers, namely 'Set-Cookie'.
We could just store headers as Dict{String,Vector{String}}, but
that would push the pain onto everybody, where few are going to care.

By creating a 'Headers' type which impliments 'Associative' the users
can interact with headers as simply as if it were a
Dict{String,String}, but it's still safe for duplicate headers.