Add dict key completion in IPCompleter
Additional test coverage for dict key completion
API: Allow NotebookManagers to control kernel startup dir. #5468
Containers resolve instances.

When a container has an instance traits, the instance's klass is
properly resolved when given as a string.
cleanup some `pre` css inheritance

We had various overrides of the bootstrap defaults for font-size and line-height every time we made a pre tag,
and then some overrides of our overrides when we wanted something slightly different.

This moves the most basic overrides to apply to all pre tags,
reducing the number of downstream changes we need.
First draft of new kernel registry machinery

IPEP 25
Add supporting for making a directory for the native kernel
Better describe functions in kernelspec module
Start refactoring KernelManager to use kernel registry
support binary files in FilesWriter
add PDFExporter

replace `nbconvert --to latex --post pdf`
with `nbconvert --to pdf`
support pdf export in the notebook UI
Miscellaneous fixes to kernelspec system
Expose --kernel arg for selecting kernel on console and qtconsole
Nicer formatting for default kernel files
Allow an arbitrary number of kernel directories to search
Fix writing native kernel spec on Python 2
Rename list_kernel_specs to find_kernel_specs
Added an optional parameter to "CellToolbar.register_callback".

It lists the cell types the UI element must inserted in.
Hide the cell toolbar if there are no ui controls in it.