Add support for client SSL certs, reconnection, subdirectories

Now we are able to support out of the box authenticated client connections to etcd. We have a slight advantage here with respect to etcd-py, as it uses requests that establish ssl parameters at the connection level, instead than at the pool level. 

Also, if someone for some weird reason uses etcd behind a reverse proxy (I know it's foolish, but still) with SNI, we can support it.

I added a (simple) auto-healing feature: if the node we connected to died, it is now possible for the client to automatically cycle to the next known cluster server. It works decently enough (I also added a couple of simple tests).

Last but not least, EtcdResult was missing an attribute (the "dir" attribute, for listing keys that have subdirectories as childs). We must probably implement a "get('/key', recursive = True) flag to allow fetching all subkeys and not just the 1st level.