Fix issues with setting and removing unique_together in one transaction.

The code for generating unique_together indexes failed to set a valid
name, which was fine so long as that index wasn't being set twice in the
same transaction.

With this bug, setting a unique_together and then changing it would
result in the SQL for index creation happening more than once.

It also didn't filter out no-op index creation/removals, which was
actually a problem for Postgres.

Now, we do a better job of filtering out unnecessary index operations
and also dealing with indexes that were created within that transaction.

Reviewed at https://reviews.reviewboard.org/r/6141/
Propagate errors when failing to load the database backend.

Failing to load the database backend resulted in an attempt to use
settings.DATABASE_ENGINE. This would then fail if used on a modern
version of Django. In this case, we now re-raise the error.
Release Django Evolution 0.7.3.