skip additionalProperties validation on notebooks from the future

adding new keys is considered backward-compatible change,
so these additional keys should be ignored.
define nbformat, nbformat_minor in v2
deprecate format arg in reads/writes

warn on any attempt to read or write .py notebook files
scrub bytes when upgrading notebooks from v2

v2 stores png/jpeg as b64 ascii bytes
trust is stored in code_cell.metadata

not top-level code_cell
codecell.collapsed is not a required property
don't write or read transient values to disk

- orig_nbformat
- orig_nbformat_minor
- cell.metadata.trusted
fill missing metadata when upgrading v2->v3
don't check_and_sign old notebooks on upload
don't convert notebooks on upload
cast writes to unicode before write
redirect /api/notebooks to /api/contents

eases 2.x-3.x transition for consumers such as emacs-ipython-notebook
Merge pull request #6643 from JIghtuse/upstream

qtconsole: Add vi-like key bindings to pager (fixes #6590)
Separate widget model name from com target name.
Merge pull request #6586 from jhamrick/kernel-session-js

Kernel and session javascript cleanup
Merge pull request #6649 from minrk/302-notebooks

redirect /api/notebooks to /api/contents
Merge pull request #6106 from chronitis/interact-slider-textedit

Allow text input on slider widgets
Merge pull request #6644 from minrk/trust-changed

trigger trust_changed properly on load
Merge pull request #6598 from minrk/nbformat-backport

nbformat validation
Generalise render/unrender to all cells type

Allow change of behavior in pure (custom) css.