Make Watcher work for directories too

Big caveat that this doesn't work for directories containing directories (well, the watching part will work, but the initial GetAll will explode), this isn't important at the moment since we don't have a structure more than 1 dir deep in etcd anyway. 
Here, to  be consistent with the other error handling, I'd use ```vector<EtcdClient::Node>()``` instead of ```values```, and move the declaration of ```values``` to just before the ```for``` loop at line 166.