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.