Add function to check if nbserverproxy is running
Add function to check if nbserverproxy is running

Provides a simple check to see if the `nbserverproxy` is installed and
running. As this is a Jupyter server extension and this code is run from
the notebook, we can't simply import `nbserverproxy`. In fact that
wouldn't even work when using the Python 2 kernel even though the proxy
server could be running.

Instead to solve this problem try to identify the Jupyter Notebook
server we are running under. Once identified, attempt to query the proxy
server with the port of the Jupyter Notebook server. If the proxy server
is running, this will merely redirect to the Jupyter Notebook server and
return an HTTP 200 status. However if the proxy server is not running,
this will return a HTTP 404 error. There may be other errors that it
could raise. In any event, if the proxy redirects us, we know it is
working and if not we know it doesn't work.

nanshe-org/nanshe_workflow,DudLab/nanshe_workflow