[bunsen] Allow Beaker client to reconnect after disconnecting from the server

There are two possible scenarios for a disconnect to happen:
 
* Client was disconnected due to networking issues, in this case it will reconnect and maintain proper notebook sessions
* Client was disconnected due to Beaker server restart, in this case it will reconnect and allow to continue working/saving notebooks, but notebook sessions maintained by the client will become invalid

The second scenario isn't addressed in this commit but ideally we should also reset the client state so it stays inline with the server.