Include session when opening websocket.

Ipython 3.0-dev has been complaining for a while that ein doesn't
specify a session-id when opening a websocket channel to a notebook.
Do connect-request on initial connect

Not sure if we need to do this, or what purpose it might serve, but
seems more appropriate than sending a kernel_info_request when opening
websocket channels.

Also make message handler kernel inactive error messages more
informative.
Fixing :prompt_number property on saving.

More conditional code for saving notebooks in nbformat v4.0.
`prompt_number` is no longer a valid property so it has to be corrected
to be `execution_count` instead.