func Register(name string, driver driver.Driver) {
	driversMu.Lock()
	defer driversMu.Unlock()
	if driver == nil {
		panic("cal: Register driver is nil")
	}
	if _, dup := drivers[name]; dup {
		panic("cal: Register called twice for driver " + name)
	}
	drivers[name] = driver
}
Register makes a email driver available by the provided name. If Register
is called twice with the same name or if driver is nill, it panics.
package emailsender
import (
	"fmt"
	"sort"
	"sync"
	"github.com/itsabot/abot/shared/interface/emailsender/driver"
)
var driversMu sync.RWMutex
var drivers = make(map[string]driver.Driver)