Merge request headers, giving precedence to overrides.
Names are normalized to lowercase so an override replaces a base header that differs only in casing. HTTP header names are case-insensitive, so keeping both would be ambiguous — a server reading the first value would see the base header instead of the override.