Merge pull request #5110 from minrk/bbox_inches

add InlineBackend.print_figure_kwargs
Merge pull request #5179 from minrk/rm-ws-url

remove websocket url
reorganize who knows what about paths

- add NotebookApp.notebook_dir
- add KernelManager.root_dir
- remove NotebookManager.notebook_dir, move to FileNBM.notebook_dir

Default value for KM.root_dir and fNBM.notebook_dir is NotebookApp.notebook_dir, but they can be configured separately.

SessionManager passes the API path to KernelManager,
which is responsible for turning it into the kernel's cwd.
use NotebookManager APIs in nbconvert handler
use config instead of App.instance to propagate notebook_dir

Should behave more logically (I hope).
don't create notebook_dir if it doesn't exist