Alternative Webserver fix

The issues mentioned in #206 can alternatively be solved by sending a `ContentLength` header to the client instead of closing the write stream.

I had someone ask me about all the additional `drop`s and `close`s in this example, and I feel getting rid of them and solving it via appropriate HTTP headers may be less confusing?

Also, fixed some build breaking issues, I can drop the webserver commit if it's unwanted or open a new PR just for the fixes.
Adding allow(dead_code) would fix a warning

    // Needed so http.rs compiles cleanly, because
    // it uses this code as a library
    #[allow(dead_code)]