This adds a single-node configuration of a dev cluster, for use when
testing things that require state restoration or multiple clients, but don't
necessarily require a 3+ node cluster.
This removes an unnecessary shared lock between discovery and heartbeating
which was causing heartbeats to be missed upon retries when a single server
fails. Also made a drive by fix to call the periodic server shuffler goroutine.