[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)
added `file_exists` check