Use in-memory sqlite for tests

There was a problem with the unit tests not tearing down Postgres connections. I don't feel like dealing with that right now.
Merge in development branch
Merge branch 'maintenance' into klj
Create testing database when it does not exist. Drop tables before tests. Hard-code testing database URL and use a TEST_DATABASE_URL environment variable to override it.
Update documentation on database initialization and testing
Update documentation for database creation
Update documentation for running tests
Update README formatting
Fix formatting in README.
Add image to README.
Converted drivers, teams, cars and driver standings to use the new Person relationship model. This is so the API is generic enough to support other series
Converted team standings to use the new Person model
Converted race results to use new Person relationship. Also modified corresponding unit tests
Converted qualifying resutls to user new Person model. Also modified the corresponding unit tests
Converted practice results to use new Person model. Also modified corresponding unit tests
Converted Race entry to use new Person model. Also modified corresponding unit tests. In addition, I fixed an issue with one of the driver list unit tests
Cleaned up the code and remove old references to Driver and CrewChief models. They are no longer needed since we moved to the Person model
Merge in testing utility changes