I have created a base class for all notebook managers. Our
existing, file-based store, is now in filenbmanager.py. I have
also created a new Azure Blob based backed notebook manager.
* The KernelManager now manages multiple kernels with a uniform
API.
* The SessionManager now manages the full set of channels+streams
and the IPython.zmq.session.Session object for a single kernel.