Use Django models to store state

- Remove dependency on withsqlite and use Django models.
  This avoids depending on a module that is not available in PyPi.
  Withsqlite does not have Python3 support. It does not work when
  we choose a different database backend. Atleast partly duplicates
  what Django models are meant for. 

- Check and update database schema on every run so that
  newly added modules can add tables and old ones can update.

@NickDaly, @jvalleroy, @petterreinholdtsen, @fonfon, Please review the merge request if any of you find time.