First commit (up through lesson 4a)

Includes user customizable location and unit settings, initial database support, and database unit tests.