Make ceilometer work with sqla 0.9.x

Ceilometer's migration 028 makes some very specific assumptions
about sqla data structures and exception paths, which are not
true in sqla 0.9.x. In 0.8 you were shielded from errors on drop
by sqla, but in 0.9 you get raw exceptions from the db layer
thrown all the way up, which causes a failure condition when
trying to delete the non existent alembic table.

We can get basically the same behavior as before by using the
checkfirst=True parameter on table definitions. This will
actually ensure that we get the table in question, and get the
NoSuchTableError when we expect it.

Change-Id: Ida33a3030fb03c2f3eeed9f129fcc0063a7b7c4b
Merge "Make ceilometer work with sqla 0.9.x"