teach tree view about non-notebook files
add support and tests for uploading and saving regular files
test creating a directory with PUT
contents service review

- missed some s/notebook/file/ in docstrings
- manager doesn’t sort contents
support deleting empty directories

can’t copy directories
use contents manager to handle redirect of /notebooks -> /files

avoids 404 on /files for visiting a nonexistent notebook
updates per review

a few more notebook mentions in docstrings,
and inappropriate use of setdefault.
move `/files/` redirect to base handlers

and reuse it in /nbconvert/html/…

closes #6137
whatsnew for contents service
updates per review

- clarified docstrings and errors
- still more notebook/file renames
- configurable untitled names
- copy_from can be full path
- fix running, upload, new-tab behaviors in dashboard

Yay, review!
various upload fixes

- recognize 201 as success (dataType must not be 'json')
- support uploading non-notebook files (b64-encoded)
update contents per further review

- fix is_hidden always returning True on nonexistent files
- create hidden dir fails with 400
- don't read binary files twice
- logging improvements
- dialog on invalid notebook upload
- warn about disabled `--save`
remove unused project_dir
always use HTTPS getting mathjax from CDN
avoid unregistering widget model twice

widgets are registered when the comm is created;
closing unregisters them. Calling `close` a second time
should be a no-op.
Merge pull request #5938 from minrk/contents2

add contents webservice
Merge pull request #6249 from minrk/always-https-mathjax

always use HTTPS getting mathjax from CDN
Copy codemirror mode configuration instead of changing it

If we change it, the modified (wrong) mode is saved in the notebook, which
wrecks havoc on highlighting once the notebook is saved and reopened.
Merge pull request #6253 from jasongrout/highlighting-bug

Copy codemirror mode configuration instead of changing it
Merge pull request #6245 from pankajp/fix-qtconsole-prompt-accounting

Fix qtconsole input prompt accounting