Upgrade slick to 2.1.0

Also contains some starts to refactors. Making this PR now as to match up with the upgrade to slick 2.1.0 in GeoTrellis and the gtfs-parser project.

Feel free to ask questions about the work-in-progress refactor on this PR. I'm making comments to point out a couple of things that I changed.
This is a work-in-progress refactor for dealing with the database. This uses the "Cake Pattern" and scala self-typing in order to require that the GeoTrellisServiceRoute trait has a GtfsDatabase mixed in. Then for the production instance of the service, we can mix in the production database, and for the test version we can mix in the test database. This prevents us from using a mutable var on the companion object, which is a Bad thing in scala (mutable vars should be avoided, but certainly have their uses (e.g. performance), but if you have to use them use them in a privately encapsulated setting)