adds http.Server equivalent API ListenAndServe, ListenAndServeTLS and Serve.
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 to Run.