mv services/notebooks services/contents
rename notebooks service to contents service

minimal functional changes, committing because tests are passing.
teach contents service about non-notebook files
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)
copy nbformat.v3 to v4
update v4 schema

use jsonschema refs, no need for jsonpointer
update v4 schema mime-type expression

fixes inappropriate JSON match
source is required in all cells
raise ValidationError in v4 validate

also only load the schema once and store it in a module global
first complete pass on v4

tests passing, notebooks validating