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 FileNBM.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.

Something still to consider/test with respect to config config, and how App.notebook_dir affects he descendent traitlets in the various circumstances of which values have been set in config files and/or on the command-line.


Finishes up work started in #4925