[WIP] remove separate 'path' and 'name' from ContentsManager

Opening now, so the plan is clear, but it will need to be rebased and finished after #6045 and #6783, which touch the same code. We should notify anyone who is already writing ContentsManagers that target 3.0.

Changes:

- ContentsManager APIs will only use a single 'path' argument, which is the full path
- `path` in the Contents model will become the full path, rather than the parent directory
- remove "untitled upload" via POST to a directory (only upload via PUT)
- remove copy via PUT(only POST)
The alternative is that we never actually send a 404 for the view pages (`/tree/.*, `/notebook/.*`, `/texteditor/.*`). The ClientSideContentManager shim creates that behaviour (no 404s) when the server doesn't know about the contents; if we do it everywhere, then ClientSideContentManager is unnecessary.