func (c *Config) Init() {
	if c.Tags == nil {
		c.Tags = make(map[string]string)
	}
}
Init allocates the subdata structures
package serf
import (
	"io"
	"os"
	"time"
	"github.com/socketplane/socketplane/Godeps/_workspace/src/github.com/hashicorp/memberlist"
)
var ProtocolVersionMap map[uint8]uint8
func init() {
	ProtocolVersionMap = map[uint8]uint8{
		4: 2,
		3: 2,
		2: 2,
	}
}
type Config struct {
	NodeName string
	Tags map[string]string
	EventCh chan<- Event
	ProtocolVersion uint8
	BroadcastTimeout time.Duration
	CoalescePeriod  time.Duration
	QuiescentPeriod time.Duration
	UserCoalescePeriod  time.Duration
	UserQuiescentPeriod time.Duration
	ReapInterval      time.Duration
	ReconnectInterval time.Duration
	ReconnectTimeout  time.Duration
	TombstoneTimeout  time.Duration
	QueueDepthWarning int
	MaxQueueDepth int
	RecentIntentBuffer int
	EventBuffer int
	QueryBuffer int
	QueryTimeoutMult int
	MemberlistConfig *memberlist.Config
	LogOutput io.Writer
	SnapshotPath string
	RejoinAfterLeave bool
	EnableNameConflictResolution bool
	KeyringFile string
	Merge MergeDelegate
}