Add an :if_exists option to drop_table

I think `drop_table` can benefit from an `if_exists: true` option, that does a `DROP TABLE IF EXISTS`. If nothing else, it can be useful for a bunch of tests that do this manually ([to](https://github.com/rails/rails/blob/master/activerecord/test/cases/migration/rename_table_test.rb#L86-L87) [name](https://github.com/rails/rails/blob/master/activerecord/test/cases/migration/table_and_index_test.rb#L9) [a](https://github.com/rails/rails/blob/master/activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb#L19) [few](https://github.com/rails/rails/blob/master/activerecord/test/cases/migration/create_join_table_test.rb#L15)). The `DROP TABLE IF EXISTS` syntax seems to be supported in the popular database engines. I checked MySQL, PostgreSQL, SQLite, MS SQL Server and Oracle.

I'm not sure if `if_exists` is the best name for this option. Suggestions are welcome, if you feel that this is a useful contribution.

/cc @senny 
If all common adapters support this, why make an individual test for every adapter? Can't we have the same test for every adapter?