Create logger. Replace client generator function with class.
Dispose ControlCenterServiceClient on session ends.
Add static helper class that introduces RAII idiom (with using statement) for reading and writing locking

Author of class: Sergey Teplyakov
Make 'Library' synchronized.

Tried to make 'Logger' synchronized (not sure).
Add ControlCenterServiceClient.ConnectAsync() method. Improve 'Library' synchronization.

* Make controlCenterClients dictionary a private field instead of property
* Add write lock in ControlCenterClientGenerator setter
* Make ControlCenterClientGenerator getter private
Implement simple synchronized logger.
Implement async starting/stopping of ControlCenter Service
Remove IObservableAgentAggregator