Backport explicit casting

This backports explicit casting to `change_column` in migrations.
@tenderlove does it make sense to raise an exception if someone tries to use both using and cast_as or will PG raise due to invalid syntax?