sqlite ForeignKeyField column migration errors
@coleifer Wow, thank you for super quick fix! :smiley: 

I've noticed adding `ForeignKeyField` produces `REFERENCES` that is inline with column definition:

```
"network_id" INTEGER REFERENCES "network" ("id")
```

vs what happens when you call `.create_table()`:

```
"network_id" INTEGER, FOREIGN KEY ("network_id") REFERENCES "network" ("id")
```

These two forms seem to be equivalent. Am I right?

I'm writing about it, because I didn't know about the first form. May be this thread would help people who could be confused by it :)
 They are equivalent and unfortunately that is the only way to do it in one shot with SQLite. The way I'd prefer is with and `ALTER/ADD COLUMN`, then `ALTER/ADD CONSTRAINT`. Since SQLite does not support this, I just inlined the foreign key definition.
 @coleifer Because I didn't know about inline `REFERENCES`, I've tried to implement `FOREIGN KEY` manipulation by creating a new table and copying data into it. (Reusing and extending `SqliteMigrator` `_update_column` method.) But my code quickly became ugly, I switched to other things. And on the next day you've fixed it with a much better approach :) 

- [x] ForeignKeyField add_column is incomplete - column is added, but without foreign key constraint
- [x] ForeignKeyField  drop_column fails: `peewee.OperationalError: unknown column "owner_id" in foreign key definition`
- [x] trying to drop non-existent column doesn't give any errors: e.g. `migrate(migrator.drop_column('device', 'owner'))`

Repeating the first two problems:

``` sh
git clone https://gist.github.com/8fe325d798c201e8e63b.git fk-bug
cd fk-bug
rm -f test.sqlite && python bug_models.py create && python bug_add.py && echo '.schema' | sqlite3 test.sqlite
rm -f test.sqlite && python bug_models.py create && python bug_drop.py
```

https://gist.github.com/shamrin/8fe325d798c201e8e63b
