Be more strict about outgoing request headers.

We now forbid empty header names, and '\0' characters in names
or values. This should improve the experience for SPDY users,
who will see the failure when they add the header rather than
when the request is made.
Merge pull request #141 from square/jwilson/empty_header

Be more strict about outgoing request headers.