Make etcd timeouts configurable

As the [etcd docs](https://coreos.com/docs/cluster-management/debugging/etcd-tuning/) say, there are various trade-offs, including network ping time, to consider when choosing the etcd heartbeat/election timeout values which will differ between environments.

In one of our environments we experienced repeated failures on etcd cluster startup unless we upped the timeout and election values below (from 50 to 100ms). This PR retains the current defaults, but makes them configurable so that they can be overridden in environments with slower networks.