various changes part 2

- server.js now exports the app
- normalized quoting in server.js to single quotes
- refactored handleError so that it has the standard express error
handling middleware function signature
- supertest now binds directly to a server that starts when tests are
run
- migrated to chai.js, a better assertion library, in my opinion
- upgraded expressjs from 4.0 to 4.9 due to an apparent bug in the
app’s router class that appears to cause next functions to make a call
to res.send. appears to be fixed with the upgrade.