* added scheduled session cleanup for cases when session was closed before last session command processed
* updated logging to include user info, updated isOpen method to include native check
* updated cleanup to go through subscriptionsByEntityId map values
* made modification of subscriptionsBySessionId and subscriptionsByEntityId maps atomic
* fixed cancelAllSessionSubscriptions
* added try-catch for pushSubscriptionEvent, modifySubscription
* refactored logging
* deleted redundant logging
* refactoring: updated isEmpty to hasEvent