Soft reconnects in service

Now user can do "soft" reconnect. It means that service will wait for finishing of all sessions and then do reconnect.
Also fixed memory leak in shared_stream_state (circular shared_ptr's).