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
push the mysql add_column up to the abstract adapter
separate primary key from column type
add uuid primary key support
squelch an unused variable warning
Merge branch 'schema'

* schema:
  add uuid primary key support
  separate primary key from column type
  push the mysql add_column up to the abstract adapter
  allow multiple add columns
  pull add_column_options! off the pg connection class
  add a pg visitor for dealing with schema modification
  push alter table add column sql in to the schema modification visitor
  there is no reason to check for an already defined column
  push column initialization down to the factory method
  @columns list is no longer necessary
  keep ivars private, do not manipulate them outside their owner object
  factory methods should not alter object state
  push SQL generation inside the schema creation object
  mostly decouple TableDefinition from the database connection
  remove to_sql from TableDefinition
  decouple column definition from the database connection
  stop depending on sql_type in pg
  remove knowledge of SQL from the column definition object