Http serve

This is a work-in-progress, but I'd like some feedback on the APIs.

My plan for PicoServer is to be able add one or more request handlers. Each handler would know whether it could handle a particular request, and serve the content back using a HttpResponse object.

I think long long term, we'd want to be able to re-host the functionality in dart:io somehow, in order to avoid code duplication. Short term, I just want a simple, correct http server in order to be able to launch web apps.

@financeCoding the TcpClient and TcpServer classes are ~based on your work in package:chrome
@jmesserly does the stream and sink code look reasonable? I have worked with them some but not a lot
@dinhviethoa