[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 suspect it's possible to lock up the notebook server if you request a path that's a FIFO, because it would never finish reading. Should we add an `isfile() check?