Refactor `visit_ChangeColumnDefinition`
Add unsigned option support for MySQL numeric data types

Example:

    create_table :foos do |t|
      t.integer :unsigned_integer, unsigned: true
      t.float   :unsigned_float,   unsigned: true
      t.decimal :unsigned_decimal, unsigned: true, precision: 10, scale: 2
    end