Better compliance with RFC 2616

(even though it's being made obsolete as we speak)

* Moved a bunch of header-processing code to a separate file, so
  all the RFC regex code is clumped together.
* Rejigged the entire content negotiation framework to handle
  new datastructures that result from the RFC-regex code.
* Fixed some problems in interpretation of things like '*' in
  various Accept-style headers.

Closes #13