Generate headers::{request, response} with a macro.

This leads to a very significant reduction in duplication.