Don't kill the console

Use the "quit" command instead. This seems to prevents some weirdness on
OS X. See #9761.
Merge pull request #9871 from arunagw/stringio-require-jruby

StringIO is not required by default in JRuby
Merge pull request #9867 from choudhuryanupam/fix_mysql2_active_schema_test

Removed unnecessary block
Merge pull request #9866 from choudhuryanupam/fix_connection_test

Removed unused loop variable
Remove exception variable from rescue block

Just raising from the rescue block will re-raise the exception, so the
variable is not necessary.
remove knowledge of SQL from the column definition object
stop depending on sql_type in pg
decouple column definition from the database connection
remove to_sql from TableDefinition
mostly decouple TableDefinition from the database connection
push SQL generation inside the schema creation object
factory methods should not alter object state
keep ivars private, do not manipulate them outside their owner object
@columns list is no longer necessary
push column initialization down to the factory method
there is no reason to check for an already defined column
push alter table add column sql in to the schema modification visitor
add a pg visitor for dealing with schema modification
pull add_column_options! off the pg connection class
allow multiple add columns