reorganize who knows what about paths

- add NotebookApp.notebook_dir
- add KernelManager.root_dir
- remove NotebookManager.notebook_dir, move to FileNBM.notebook_dir

(names of the traitlets are still up for discussion)

Setting NotebookApp.notebook_dir sets KM.root_dir and FileNBM.notebook_dir (99% of cases case), but they can be configured independently.

SessionManager passes the API path to KernelManager, which is responsible for turning it into the kernel's cwd.

Finishes up work started in #4925