Drop the correct index after reverting a migration

While working with partial indexes I've hit a problem where reverting a migration would drop the invalid index. The reason is that inverting `add_index :table_name, :column_name, name: "named_index"` results in `remove_index :column_name, name: "named_index"` which ends up dropping the index by its columns. 

#8868 made `remove_index :column_name, name: "named_index"` drop the `named_index` only if a corresponding one with matching columns but without the name doesn't exist.

This change makes inverting an `add_index` use the name or the columns explicitly.