text: Title: Demos: ensure /etc/jupyter exists and use Python 3
  Body: There are a few bugs in the JupyterHub demos. @mkzia has already figure out the fixes, someone just needs to make a PR with them!
  
  I am using Ubuntu 18.04.3 LTS. I had to make the following changes to the demo files:
  
  1) Added `mkdir -p /etc/jupyter/` before `cp global_nbgrader_config.py /etc/jupyter/nbgrader_config.py` in setup_demo.sh because the directory did not exist, so the copy command would fail. 
  
  2) Jupyterhub requires Python version 3. The default `pip` in my Ubuntu installation is associated with Python2. So I modified the utils.sh to use `pip3` instead of `pip`.  This required installing pip3. Also, npm and configurable-http-proxy had to be installed. Upgrading pip was causing errors, so I commented it out (see https://github.com/pypa/pip/issues/5447). 
  
  Here are the changes I made. 
  ```
  --- a/demos/restart_demo.sh
  +++ b/demos/restart_demo.sh
  @@ -23,9 +23,12 @@ source utils.sh
   
   install_dependencies () {
       echo "Installing dependencies..."
  -    pip install -U pip
  -    pip install -U jupyter
  -    pip install -U jupyterhub
  +    apt install -y npm
  +    npm install -g configurable-http-proxy
  +    apt install -y python3-pip
  +    # pip3 install -U pip
  +    pip3 install -U jupyter
  +    pip3 install -U jupyterhub
   }
   
   install_nbgrader () {
  @@ -47,7 +50,7 @@ install_nbgrader () {
       git pull
   
       # Install requirements and nbgrader.
  -    pip install -U -r requirements.txt -e .
  +    pip3 install -U -r requirements.txt -e .
   
       # Install global extensions, and disable them globally. We will re-enable
       # specific ones for different user accounts in each demo.
  ```
  
  _Originally posted by @mkzia in https://github.com/jupyter/nbgrader/issues/1176#issuecomment-524661239_