embedded etcd

Goal:
main.go should be as simple as
```go
    etcd := NewServer(config)
    go log.Fatal(http.ListenAndServe(addr, etcd.peerHandler))
    log.Fatal(http.ListenAndServe(addr, etcd.clientHandler))
```
it's nice to make them non-public