update notebook creation handlers

- only POST to directories (notebook picks name)
- only PUT to full paths
- PUT and POST should be equivalent aside from
  who picks the notebook name.
update notebook api tests

with creation URL changes

also use unicode as the default name in tests,
to increase likelihood of catching unicode bugs.
urllib.quote/unquote must be str on Python 2
escape URLs in Location headers
Cells shouldn't know about Sessions
s/session_id/id
url_escape redirects
test nbmanager.copy_notebook