Refactoring of Device Catalog & clients

* DeviceConfig struct embedding Device
* Utils providing registration with keepalive
* Small changes in memstorage (extracted validation)
* Refactoring in remoteclient