Add column if doesn't exist
Adding columns strikes me as being different-enough from just creating tables that I think the current division of APIs is appropriate.

The table is based on a model, which is declared in Python code -- from the perspective of a running app, it's structure is static. When adding (or otherwise altering) fields on a model, you do it offline, modifying the model definition. Since it's not a dynamic operation, it makes sense to code the schema migrations in a similar manner. Also, `create_tables` ensures that a table exists, but it does not otherwise alter a pre-existing table.

Changing a pre-existing database table is a very dangerous operation and I think that such a method would cause a lot of confusion.
I was wondering if it would be useful to have a method to add any new columns to a table, or to all tables in the database. It'll make db migrations much easier.

In my head, usage would look like:
```py
db.connect()
db.create_tables([User, Tweet])
db.add_columns([User, Tweet]) # or User.add_columns()
```

I feel this makes sense, especially after `create_tables` is safe by default now, so, in theory, it can be run every time. Similarly, `add_columns` can also run every time, making any and all migrations single-line.

I was looking at this as a use-case primarily for SQLite, because SQLite doesn't allow any other ALTER TABLE commands, so, this makes more sense than a migration; however, it may make sense for all database types.

Also, if this is something we're interested in, I'm more than happy with picking this up myself, and creating a PR.