Parametrize and extend IPython Notebook class

This change replaces hard-coded paths with class parameters and template
expansion. It also configures IPython Notebook to run under supervisord.

Also adds 'python-pexpect', which is a recommended package. (IPython Notebook
ships with an inferior process management library, but it will use pexpect if
available.)

Change-Id: I0d0de6a4d00bb2bba512c2ae355b93028be7caff
Merge "Parametrize and extend IPython Notebook class" into production