Style and bug fixes
Use IPython style constructor
Make ContentManager stateless

Don't store notebook_path in ContentManager, because this sort of state (in addition to notebook_name) can change, and keeping track of this logic doesn't seem to be a part of the file management system.  Instead, this logic can be left to the Notebook instance (and possible other places that manage it).  This makes refactoring easier, and avoids having to replicate this logic in every implementation of ContentManager.
Adds dialog on new_notebook failure

This logic doesn't really belong in ContentManager.  It would be better to trigger an event, which is handled somewhere else.  But there's no obvious place to put this event, so creating the error dialog inside the new_notebook method is ok for now.
Replace other methods with ContentManager.new_notebook

Replaces Notebook.new_notebook and NotebookList.new_notebook with ContentManager.new_notebook