Support IF EXISTS clause on ALTER TABLE

And ALTER TABLE .. DROP .. IF EXISTS.

AlterTableDDL has a number of shifting blocks but didn't fundamentally change. The existence checking happens earlier, as the nodes are generally thrown away before later processing, and minor cleanup.

Also noticed the CREATE INDEX IF NOT EXISTS wasn't being handled properly, so fix that too.

Lastly, consolidated the ExistenceCheck usage into a new helper as various places were all rolling their own (slightly differently).