functional: update usage of go-systemd
Merge pull request #926 from bcwaldon/update-functional

functional: update usage of go-systemd
registry: s/LatestVersion/LatestDaemonVersion/g
registry: s/New/NewEtcdRegistry/g
registry: create ClusterRegistry
etcd: implement Set.PreviousValue
registry: Add EngineVersion and UpdateEngineVersion
registry: remove "role" from lease mechanism
registry: role.go -> lease.go
registry: move AcquireLease to new interface
registry: break out leasePath helper
registry: move AcquireLease docstring to interface
registry: move Lease-related docstrings to interface
engine: move lease-related code to lease.go
engine: stop passing engineLeaseName to AcquireEngineLease
engine: acquire lease using metadata struct
registry: add LeaseRegistry.GetLease
engine: stuff lease MachineID in metadata struct
engine: check for lease before acquisition
engine: check cluster engine version before reconciliation