Major refactor

This update matches the interface to the standard http.Server.
It also embeds the http.Server making all of its parameters and methods
externally available.

Adds TLS support, a lot more deterministic tests and package-level
functions for creating servers with the same method signature as the
http package.