On database upgrade check and create non existent tables.

When some models are added to the application let the database creates the tables for us.

In order to know if the tables should be created I catch a ``SQLiteException`` doing a ``SELECT``
on that table, I don't know if this is the right thing to do but seems to work.

I think address the situation in the pull request https://github.com/satyan/sugar/issues/28