Session unify resolve DefferedEvent

1) sometimes `setResult` have `true` sometimes empty.
if empty it didn't check
Now - only `true` or `false`, and it check if need
2) legacy UndefinedEventCalledException replaced
3) DeferredEventCmp cleanup
4) In examples  `$this->client->onSessionStart(function ($event) `, it can't be `$event` because we execute `CallbackStack` with arguments from `setResult`