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. 
I moved it to the anonymous namespace in the .cc file