func Register() {
	valkeyrie.AddStore(store.CONSUL, New)
}
Register registers consul to valkeyrie
package consul
import (
	"crypto/tls"
	"errors"
	"net/http"
	"strings"
	"sync"
	"time"
	"github.com/abronan/valkeyrie"
	"github.com/abronan/valkeyrie/store"
	"github.com/hashicorp/consul/api"
)
const (
	DefaultWatchWaitTime = 15 * time.Second
	RenewSessionRetryMax = 5
	MaxSessionDestroyAttempts = 5
	defaultLockTTL = 20 * time.Second
)
var (
	ErrMultipleEndpointsUnsupported = errors.New("consul does not support multiple endpoints")
	ErrSessionRenew = errors.New("cannot set or renew session for ttl, unable to operate on sessions")
)
type Consul struct {
	sync.Mutex
	config *api.Config
	client *api.Client
}
type consulLock struct {
	lock    *api.Lock
	renewCh chan struct{}
}