Migration

Keep indices intact when columns renamed.
Tests included.

As discussed in #83, this is using: 
```SQL
select * from sqlite_master where type = 'index' and tbl_name = 'repos'
```
instead of `PRAGMA` stuff for fetching index's ddl.

Thanks to @bradrydzewski for the hint :+1: 

I also add migration script generator to ensure we have incremental Revision number.

I also want to notice that the `AddColumn` method is still translated directly to SQLite `ALTER TABLE` which means we still have the [limitations](http://sqlite.org/lang_altertable.html) (e.g. can't add column with `PRIMARY KEY` and/or `UNIQUE` constraints), I think this is worth another discussion, and eventually this may turn into whether we want to stay and fix these or move to another rdbms, but I wont fuss about it right now.


Thanks