Update migration generator and add rake tasks

The migration generator was using the old `up/down` syntax, so I updated it to use the new reversible syntax. Ideally, most migrations should be reversible, so generating by default the `change` syntax should be more useful.

I also added rake tasks for creating, dropping and setting up the database, corresponding to the tasks that ship with Rails. The one exception is that the `setup` task doesn't load seeds, since there was no existing seed system in this library.

I tried imitating the coding style that was there as much as possible.

Check the commits for more details.