Extract retry logic into a common helper

* Use `retry.Helper` for `EtcdLocator`. Once #144 lands, the `EtcdBalancer` can use this, too.
* Retry failed test notifications. The tests now consistently pass for me on OS X.
* Test on tip-of-tree Go, because we want to live on the edge™.
I went to use `math.Pow()` first, but it only takes floats. [This thread](https://groups.google.com/d/topic/golang-nuts/PnLnr4bc9Wo/discussion) suggested using binary powering for integers. I'll add a comment.