adds an optional timeout to the leader and machines function

This adds an optional time to the Etcd class which is then used for the request in machines and leader.

If one tries to connect to a host where etcd is not running on (anymore) one has to wait until the internal timeout of requests raises an error. Here - i think - it would make sense to optionally set this timeout explicitly.