Add more bullet-proofing to upgrade steps

This builds on the work in 04d58ea6.  During an upgrade, it's common to
restore from your backup without clearing out the current database,
meaning tables are left behind and cause errors when we try to create
them again.

As noted previously, DROP TABLE IF EXISTS is painful on Oracle, so we
don't bother jumping through hoops.

The Pg steps are simpler here than in 04d58ea6 because the ids are
declared as type SERIAL so Pg auto-manages dropping/creating the
sequences for us.
Merge branch '4.2/drop-more-if-exists' into 4.2-trunk