simplify the recovery logic
add a way to tell if the cluster is in sync or not
start the protobuf server after raft has initialized

Otherwise, we may get a protobuf request to write data to the local
shards which don't exist yet
use the same query spec
make the heartbeat backoff configurable

We mainly need this for testing. before this change the backoff
defaulted to 1 second and could get up to 10 seconds before the server
attempted to do another heartbeat.
log an error if the graphite plugin can't write data
get rid of tip, it's failing on travis
Be less verbose when servers go up and down
simplify
More robust test suite