Initial interface for javascript contentmanagers

contentmanager.js is going to be a js proxy for the current
filenbmanager.py.  This will allow a contentmanager for Google Drive to
be created.
ContentManager function signatures updated
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
Move deleting a notebook to contentmanager.js

Move code to handle deleting a notebook from notebooklist to
contentmanager.
switch notebook.delete to use contentmanager

Make notebook.delete call contentmanager.delete_notebook
Move notebook.rename to contentmanager

Make notebook.rename call contentmanager.rename
Move saving to contentmanager

Make notebook.save_notebook call contentmanager.save_notebook.
Removes unnecessary parameter from ContentManager.delete_notebook
Remove deleted notebook from notebook list

Uses events to notify the NotebookList when the content manager deletes a notebook, and remove the deleted notebook in response to such an event.
Fix constructor comments

Add content_manager as a dictionary key to the options param passed in to the NotebookList and Notebook constructors.
Remove unused event

This event never seems to get used.
Use $.proxy instead of that
Use events for rename_notebook

Triggers events on ContentManager.rename_notebook success and failure.  Also moves some logic out of this method.
Uses events for ContentManager.save_notebook

Modifies ContentManager.save_notebook() to use events, so that the Notebook instance can listen for success or failure events.  Also moves some logic out of save_notebook()
Moves list_notebooks to ContentManager
Adds Google Drive version of ContentManager