Deal correctly with session expired during opening of push connection (#11705)

* Added SessionExpiredHandler which any RequestHandler can implement to customize session expired handling
* The issue can be tested by creating a non-serializable UI (e.g. new Object() in a field) and restarting the server.

Change-Id: I3eb6bc56298e025bcde088af53ea656fb44e897b