These are the commits included. Their hashes can be found on this branch:
https://github.com/takluyver/notebook/tree/jupyter-kernel-mgmt
0dc8b70 Initial work towards using jupyter_kernel_mgmt for notebook server
ae15888 Provide kernel specs from kernel finder machinery
ddcc3dd Display kernel type ID alongside display name
27fc52a Add dependency on jupyter_kernel_mgmt & jupyter_protocol
102ae7b Switch single kernelspec API handler to kernel_finder
5765854 Drop kernel_spec_manager
1dfc5d4 Fix interrupting a kernel
76ab738 Fix up kernelspec API tests to pass
f1a79bf Default kernel type name pyimport/kernel
b0e0fec Use pyimport/kernel for session API tests
fd0b60c Use pyimport/kernel for kernels API tests
c76e6bf Fix dummy objects for SessionManager tests
2d9e021 Use reworked restarter callback system
a15a1f9 Kernel restart always means new manager & new connection info
b427507 Use updated API for message handlers
90f9e68 Restarter callbacks parameters swapped again
f6e7cfd Clean up some unused imports
d87f862 Reworked kernel restart handling
24d3d0b Reorganise code for kernel websocket handler
cdd45a6 Require jupyter_kernel_mgmt >=0.3
9ed09ae Change selectors used by tests to create new notebook
00ab20c Fix race condition making AJAX requests for session
20e9db4 Fix selector for new kernel menu entry
69a79ac Try to get more information on test failure
d63cd96 Don't try to forward message from kernel when websocket closed
237a212 Avoid race condition creating duplicate sessions
80c278a Fix starting a kernel when modifying a session
0a18fb9 Fix sessionmanager tests
c3d63d0 Propagate future out for sending status messages
65d49a4 Don't crash closing websocket if handler not connected
6efb932 Rework how kernel startup works again
8233daa msg_type is part of the message header, not top-level
e80cafe There is no longer a good way to prevent a kernel from restarting
cab3416 Wait to send starting status until new client is reconnected
a8dbd48 Expect kernel_starting event in autorestart test
f6b0674 Ensure message in frontend always has buffers array
76b9044 Wait for kernel to be connected to send shutdown_request
c42fb21 There is no longer a good way to prevent a kernel auto-restarting
336a321 404 error for websocket opened to nonexistant kernel
3ab2d12 Wait for kernel for cell mode-switching tests
826ee65 Message for callback is converted to update_display_data
bb54f34 Fix deserialisation test
3bc13fb Allow for kernel state changing during session test
e4eff7a Allow execution_state to change in test_modify_kernel_id
e5bb55c Use appropriate attribute in cull debug
d721064 Culling should go through MappingKernelManager
ab84f2a Use kernel_id from provider's manager
plus a couple fixups from cherry-pick conflict resolution issues.