election: Add an optional :identifier which is written to the leader node

This lets other clients identify who is currently the leader.
Defaults to a random UUID.
election: Use Etcd::Client test_and_set correctly