Changed db schema to support more general surveys

I though I had a great idea for the database scheme and how to handle multiple survey types. Under
further investigation, it turned out that I underestimated the complexity needed to support the
features that we want. Luckily, I found a great stack overflow post with a schema that fits our
needs.

I created the models for the database, although it seems to be a bad way to creat the models since
all the data is loaded in at once. But I'll work that out.

The biggest benefit to doing the database this way, and the same on both the global database and the
local device, is that it simpifys the data collection/manipulation and allows users to download as
much survey data to their device as we allow/as they want.

Definitely feels like overkill, but hopefully it's not and it makes our lives easier.