Fix integration tests when run as a complete fixture.

Previously the test database was created / destroyed on fixture setup /
teardown. This meant that tests were not isolated from each other and some
of the tests would fail depending on the order they were run in. This
commit creates and destroys the database for each test, isolating them.