Retry etcd requests with exponential backoff.

* Log etcd operations via `etcd.SetLogger()`.
* Set `CheckRetry` for logging and filtering retry attempts.
* Retry get and set operations that return Raft and etcd internal
  error codes.
Seed the RNG with the current time.

From the math/rand docs: "If Seed is not called, the generator behaves
as if seeded by Seed(1)." This can be disabled in the future via a test
hook.
`checkRetry`: Always record the retry count.
Keep the original contact list for fetch fails.
Merge pull request #114 from mozilla-services/feature/etcd-retry

Retry etcd requests with exponential backoff