[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)
I disagree. I think the problem is more in the ClientSideContentsManager, which shouldn't be lying. I'm not entirely sure it ever gets called for anything.

Redirecting tree->notebooks is a really useful, just like GitHub redirects tree<->blob based on the target type.