WIP: Add a utility for doing master election via etcd.

Sending this for comment, will work on unit tests once people are happy with the code.
Random thoughts in no particular order.

Who will use this? apiserver?

I find this structuring very confusing.

I guess I would have expected some sort of master election interface.

Why does this use Get instead of just watching?

It seems like there's two distinct operations that this method conflates: that of tossing your hat into the ring of potential masters, and that of subscribing to figure out who the current master is.

How can this handle the case where a master goes away?