Add method to close current database

This is useful for the following cases:

- An app might only use FCModel infrequently and wants to free up resources.
- An app might want to allow the user specify (or change) where its data is stored.
- Unit tests work best if each run starts with a 'clean slate'.

This changeset also includes some initial unit tests for the library (which relies on the ability to create a fresh database for each test).