* moved base_config.js to server/utils/shared_class_methods.js
* modified server_*.js and test_*.js to require shared_class_methods
* deleted old config files
* server/utils/shared_class_methods.js is now required by config files
* duplicate class methods removed from all models
* created a Controller "class" which has a single method:
    handleRequest(promise, res)
  which handles 200, 404, 422, and 500 responses, meaning that i don't need
  duplicate code in my individual request handlers
* the controller files now each implement a class, which have a db parameter
  in the constructor.  All  of these classes are subclasses of Controller
* since my controllers are now all objects, in routes/index.js, I modified
  all of my route  handlers to the following format:
  app.VERB(<route>, <instance>.method.bind(<instance)
* models/index.js now exports a function, createDB(config), which allows me
  to call it with different configurations, for instance for unit testing
* server.js now passes in a config object to createDB() and saves the
  database reference via app.set("db", db)
* models/participant::mkExperimenter(), when successful, now instead of
  simply returning the instance created, calls getParticipantWithAssociations(),
  so that my participant handlebars template doesn't crash due to the
  necessary data being present
* added a delete participants to the bottom of siteEditorLayout.hbs
* add, update, and delete participants all use the same new view:
    ModifyParticipants
  and simply pass in different templates.  there are 2 templates:
    addUpdateParticipantsForm and deleteParticipantsForm  the former
   being more parameterized allowing it to perform both functions
* got rid of the old addParticipantsForm and reassignParticipantsForm
* updated config/server_sqlite to properly require the shared_class_methods
* entities.js now has different regexps for the name fields of the
  various types of entities, and the error msgs have been modified
  to reflect this
* the model files now each have different regexps for the name field
* db_errors has updated error messages for the various model.name
  validation regexp failures
* fixed experimenter.js::mkExperimenter() to check if the name
  exists prior to doing a model.create(), which was causing
  unique constraint violations
* test/support/db_connection creates a database connection for unit tests
* test/test_sqlite implements 2 unit tests, but I'm definitely doing something
  wrong as they both fail