Rearrange the NotebookManager methods for clarity
Rearrange the NotebookManager methods for clarity

Methods are organized into three categories:
 - Methods that must be implemented in subclasses
 - Methods that have default implementations, but can
   be overridden if required.
 - Support methods meant to be called by methods in subclasses

ipython/ipython,ipython/ipython