Migration generation

This is my first pass at making migration baking a little easier to use.

- Moved the existing bake behavior to a `--snapshot` option
- Moved the template to `migration.ctp` to `snapshot.ctp`
- Cleaned up the actual bake task a bit
- Added a `MigrationHelper` class to handle data output for migration files

This PR handles the signed/unsigned bug, and adds support for more phinx-supported attributes.

TODO:

- Update docs
- Test bake output the same way that the core does
- Add tests for the `MigrationHelper` class
Not a fan of ternaries personally. Less readable imo.