Resilient watches

Got some help in #coreos to find out what to do about 401 errors. Turns out the answer is to restart the watch with a fresh Get. That ensures metafora will never miss events.

The diff looks like an absolute mess. Basically all I did was put *another* for loop around the initial Get when we start watching, and have 401s continue that outer loop.


bleh
The reason I want the ttl to be short is that if we use a persistent node name a node will refuse to start if it's node already exists to prevent 2 processes running with the same node name.

Now that's not to say this code can't be improved (it definitely can!), but we do need to keep that node path ttl short as there's no way to test if a node is "really" alive other than to check the node path.