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))
```
please do not... 
we can have a dir config instad of the two, but we still save snap in dir/snap and log in dir/log.