proxy: implement `eachHeader()` iterator function

Normalizes the differences between node v0.11.x's `rawHeaders` Array
and earlier versions `headers` Object. Unfortunately on node < v0.11
we can *only* proxy the headers with lowercase'd header names, which
should not be a problem according to the spec (headers are
case-insensitive), but we'll see how that works out in the real world.

If possible, use `proxy(1)` with >= node v0.11.7…