http+https module overhaul

Not ready yet, but this branch is an overhaul of the HTTP modules' architecture.

Highlights:

- moves common code to IncomingMessage/OutgoingMessage
- implements many formerly-missing methods/properties (based on node v0.11)
- adds Agent API [connections not reused yet]
- implements HTTPS  via subclassing instead
- now ± works with [request](https://github.com/mikeal/request) (and [fermata](https://github.com/natevw/fermata) ;-)

TODOs:

- [x] more debugging (e.g. requests don't always "finish" in some situations)
- [x] connect/upgrade/continue handling
- [x] keep-alive support
- [x] better backpressure?
- [x] tons more tests/testing
- [x] implement 'auth' handling
- [x] troubleshoot failing/hanging tests
- [x] HEAD requests work?
- [x] does HTTPS actually work?
- [x] dig into intermittent network hangs