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))
```
ID will be either generated using Cluster, or read from wal
so i think maybe it doesn't need to be in the config