func New(certFile, keyFile string) (*CertMan, error) {
	var err error
	certFile, err = filepath.Abs(certFile)
	if err != nil {
		return nil, err
	}
	keyFile, err = filepath.Abs(keyFile)
	if err != nil {
		return nil, err
	}
	cm := &CertMan{
		mu:       sync.RWMutex{},
		certFile: certFile,
		keyFile:  keyFile,
		log:      &nopLogger{},
	}
	return cm, nil
}
New creates a new certMan. The certFile and the keyFile
are both paths to the location of the files. Relative and
absolute paths are accepted.
package certman
import (
	"crypto/tls"
	"path/filepath"
	"sync"
	"github.com/fsnotify/fsnotify"
	"github.com/pkg/errors"
)
type CertMan struct {
	mu       sync.RWMutex
	certFile string
	keyFile  string
	keyPair  *tls.Certificate
	watcher  *fsnotify.Watcher
	watching chan bool
	log      logger
}
type logger interface {
	Printf(string, ...interface{})
}
type nopLogger struct{}
func (l *nopLogger) Printf(format string, v ...interface{}) {}