Attempting to create a more abstract "setup" process for Girder.

* Threaded optional ``cur_config`` arguments through setup-related functions to
  avoid trashing global CherryPy config

* Broke ``girder.utility.server.setup()`` into two functions:  ``setup_helper()`` which
  does a lot of the work but returns intermediate products suitable for mounting
  as CherryPy applications in other contexts, and ``setup()``, which simply calls
  ``setup_helper()`` and does with the results what the old ``setup()`` used to do.