Logging and connection tracking fixes.

* Add support for setting logging levels
* Re-use the same Etcd client instead of instantiaing a new one every reload
Mem backend takes the same parameters but `cancel` channel there is called differently:
```go
func (m *MemBackend) WatchChanges(changes chan interface{}, cancel chan bool)
```