Handle in MQL case when Agent cannot connect to ControlCenter.
Modify ControlCenterClient to raise SessionEnded only when communication with ControlCenter is Closed.
Handle connection problems in Agent Library and EA
Improve service opening/closing (details below).

* Introduce contract that makes possible to ask client to disconnect from service
* When service is being stopped it sends requests to each client to disconnect (to finish communication correctly)
* Remove Disconnect operation from contract (client.Close() must be used instead)
* Fixed some concurrency issues