discovery: registration of wrong/old service instance on RECONNECT

```ServiceDiscoveryImpl.registerService()``` remembers service registrations in a map. However ```updateService()``` does not update the map. 
This causes a wrong registration in the case of a RECONNECT - e.g. ```reRegisterServices()``` called by the ```ConnectionStateListener``` registers the old ```ServiceInstance``` instead of the updated one.