Readonly proxy mode

This is rebased on top of https://github.com/coreos/etcd/pull/1106
#simplify?

```
ph, err := proxy.NewHandler(endpoints)
if err !=  nil {
   log.Fatal(err)
}
if *proxyReadonly {
   ph = proxy.NewReadonlyHandler(handler)
}
```

```
// NewReadonlyHandler wraps the given Handler to only support GET requets
func NewReadonlyHandler(http.Handler) http.Handler {
    readonly := readonlyHandlerFunc(hdlr)
    return http.HandlerFunc(readonly)
}
```