logs http.Server.Serve errors
adds new Serve function that takes a *http.Server.
this allows the user to configured server details such as tls or timeouts
as well as handling errors from Listen and Serve without braking changes.