etcd: add a read/write timeout to server

The default is for connections to last forever[1]. This leads to fds leaking.
I set the timeout so high by default so that watches don't have to keep
retrying but perhaps we should set it slower.

Tested on a cluster with lots of clients and it seems to have relieved the
problem.

[1] https://groups.google.com/forum/#!msg/golang-nuts/JFhGwh1q9xU/heh4J8pul3QJ