feat(response): access received headers by name

(-) non-headers are saved but usually not searchable
(-) unjoined duplicated header names
(+) case-insensitive header names
(+) correctly trimmed header values