Etcd initial pass

Switch to using ETCD recommended by @shawnps  for more flexible configuration management,
The format for tests in Go are typically first the `got`, then the `want` (it's the other way round in some test frameworks, but not in Go):

```
if got != tt.want {
    t.Errorf("Foo(%q) = %d; want %d", tt.in, got, tt.want)
}
```

See https://code.google.com/p/go-wiki/wiki/CodeReviewComments#Useful_Test_Failures for reference