I need to extend this handler a littler more and I will add some comments. Currently, this handler 'assumes' that the notebook name is not included in the URL's `notebook_path`. Instead, a name is passed through JSON from the client in `self.request.body`. If it receive a notebook name from the JSON, it makes a copy of that notebook. If no name is given, it will make a new notebook and decide the name. If a notebook name is included in the URL, this handler will not work... I need to protect against this, I guess.