Split common headers into a submodule and into their own files

This is a more extensible place to put them and doesn't clutter up
header/mod.rs as much as the old scheme did.

It also doesn't make the export list of hyper::header as enormous and
less prone to collisions by splitting up header-specific stuff into
submodules - for instance the TransferEncoding variants.