Use Upstart rather than supervisor to manage IPython

This change transfers responsibility for starting and stopping IPython Notebook
from supervisor to Upstart. I'm doing so for the sake of simplicity and
consistency. I did not use the `upstart_job` resource type in
generic-definitions.pp because I wanted to keep the module self-contained and
because I wanted to use template (`upstart_job` looks for a static file in
files/upstart).

Change-Id: I2c10bb25bc31285be2f1dd3b31b5252855f76f11
Merge "Use Upstart rather than supervisor to manage IPython" into production