Standardize ListenAndServeTLS signatures to match those of ListenAndServe

Refactored the signatures of ListenAndServeTLS to correspond to those
of ListenAndServe.  Specifically, added a signature that operates on
the Server struct, so that an server object already created and
configured can be used in starting with TLS.

i.e.

srv := &graceful.Server{
  Timeout: 10 * time.Second,

  Server: &http.Server{
    Addr: ":1234",
    Handler: mux,
  },
}

srv.ListenAndServeTLS("cert.pem", "key.pem")