Switch from foreigner to schema_plus gem.

schema_plus infers proper foriegn keys based on the migrations having
t.belongs_to or t.references columns or a column name ending in _id, so
it requires less work to use than the foriegner gem.

It also allows you to declare indexes inline with the colums, and (this
is the killer app), allows you to create and destroy views the same way
you create and destroy tables.

That last bit lays the groudwork for resurrecting the spec tests, which
drop and recreate the database and fail to preserve the views we need
along the way otherwise.