WIP client: min client for discovery

can we have a struct called `request` instead of having `getAction`,`createAction`,`watchAction`?
I hope we can encode the `actions` into `httprequest` at one place. 
```go
type request struct {
    cmd string
    key string
    recursive bool
   ...
}
```
```