API: Allow NotebookManagers to control kernel startup dir. #5468
disambiguate to location when no IPs can be determined

previously, fallback was to localhost, which could often be wrong.
update header in parallel.util
Make SVGs resizable in the NB
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.
Add failing test for unbound method repr on Python 3
Use __qualname__ for pretty reprs where possible.

Closes gh-5566
Remove PyReadline as a install requirement on Windows
Remove the outdated keyboard shortcuts from notebook docs

Closes gh-5569

Backport to 2.x.
support binary files in FilesWriter
add PDFExporter

replace `nbconvert --to latex --post pdf`
with `nbconvert --to pdf`
support pdf export in the notebook UI
Update README.md

added instruction to `git checkout master` to activate the hooks and init/update the submodules.
Change $.post to this.post in the kernel js file

This makes it easy to override the post function for custom communication requirements.  Any replacement function, of course, needs to have the same semantics as $.post.
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.
Hide toolbar of rendered text cells.
Why overriding a method if the new one is exactly the same of the one
in the base class?
Removed "cell_types" parameter from "select_ui_generator".

If you don't want to show the UI element in a cell use the
"register_callback" optional parameter.
Mention git hooks in install documentation