CertWatcher watches certificate and key files for changes. When either file changes, it reads and parses both and calls an optional callback with the new certificate.
New returns a new CertWatcher watching the given certificate and key.
GetCertificate fetches the currently loaded certificate, which may be nil.
ReadCertificate reads the certificate and key files from disk, parses them, and updates the current certificate on the watcher. If a callback is set, it is invoked with the new certificate.
Start starts the watch on the certificate and key files.
Watch reads events from the watcher's channel and reacts to changes.