Topic/producer postgresql batch alter table

This initial version makes sure that drops on old table are handled before table rename and also fixes up rename_field/alter_field so that old field table name is changed to the name of the new table to prevent calls to alter_field from croaking. Test diffs are reordered but are otherwise unchanged.
I've added a test in a separate commit which uses Test::PostgreSQL to demonstrate one specific bug that this PR fixes (GH issue #40).
Instead of `lives_ok { … || die }`, set `RaiseError` (preferrably) or just use `ok( … )`.