Fixed #22563: Better error message when trying to change AUTH_USER_MODEL

You're not allowed to do this after you've made migrations; see ticket
for more details.
Fixed #22581: Pass default values for schema through get_db_prep_save()
Reorganized backends tests.

This reduces the number of explicit vendor checks.
Simplified indexes tests.
Replaced vendor checks by three feature flags.
Split ignores_nulls_in_unique_constraints feature.

Oracle and SQL Server don't have exactly the same limitations. It's
worth treating them differently.
Added feature flags for introspection capabilities.