Protocol for error reporting has changed in IPython 3.0 messaging and
ein was missing error messages.
EIN was also saving "*" for the notebook execution count and per
nbformat v4 execute_count can only be null or a number.
Work in progress.
Lots and lots of changes trying to clean up code so there are not so
many checks of IPython version. Also a significant amount of refactoring
all notebook server requests code to ein-contents-api.
Also moving away from notebook-id concept; instead use notebook path to
uniquely identify notebooks/content.
Made `ein:query-ipython-version` more efficient by caching results.
Start of a refactor of code for accessing Jupyter's new contents API.
First up an implementation of list contents.
New function for flattening lists borrowed from cl-alexandria (how did
we survive withoutthis in the before times?)
Updating author list here and there.