Standard header classes

Classes for standard headers defined in the RFC.
E.g., instead of "new Header('Host', hostname + ':' + port.toString())", use "new HostHeader(hostname, port)". It's less error-prone and easier to read.
This is the first step in defining header classes. There's only HostHeader so far, but the goal is to have a class for every header defined in the RFC. we just need this pull request now to combine the rename, changes to docs, and improvements to HeaderCollection. Further pull requests will come once this branch and master are combined.