Readonly proxy mode

This is rebased on top of https://github.com/coreos/etcd/pull/1106
can we use return? 
i hate `else`...