add redirect handler for notebooks by name

Now you can visit `localhost:8888/My Notebook.ipynb`, and it will redirect you to the UUID url. This allows cross-notebook links, etc. with `[other notebook](Notebook Name.ipynb)`.
It does not introduce any of the problems associated with 'real' persistent URLs,
since these are only written by humans, and only redirect to real URLs.
A rename breaks such a link, exactly as you would expect.

see #3056