Rails 3.2.x compatibility fixes

For UUIDs, the base type of the column is `:string`, not `:uuid`.

For `smallint` support, Rails 3.2.x is not raising `StatementInvalid` in
response to the `PG::NumericValueOutOfRange` that the PG gem should be
raising; it seems to swallow the error, or not use the value in the
first place. So just assert the `sql_type` rather than `create()` failing.