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))
```
what about combine snapdir and waldir into dir?
they always appear as a whole today