expose shell channel methods at the client level
cleanup boundaries of MultiKernelManager and KernelRestarter classes

- MultiKernelManager no longer has IOLoop affiliations
- move connect_[channel] method to base KernelManager
- connect_[channel] wraps in ZMQStream in IOLoopKM subclass
- add KernelRestarter base class
- use decorators to minimize code in wrapped KM methods
add control channel

clean shutdown is back
split in process Manager and Client
update inprocess kernel to new layout

including Qt mixins