Improve db

#8 @gsathya @ben-jones 
I changed directory structure and split server.py into models and views.
We use 2 digit country codes and I don't want to let users accidentally specify a whole country name. (I don't know if SQLAlchemy would treat this as an error, it may just insert the first two characters and trash the rest.)