Reordered setUp code in prefetch_related tests.

This allows these tests to run on databases that reject duplicate NULL
values in unique fields e.g. SQL Server.
Avoided using BinaryField unecessarily in tests.

Several database backends struggle with binary data. This change
minimizes the risk of unrelated tests failures when binary fields
trigger errors.
[1.7.x] Added a flag for the ability to introspect nullable fields.

Previously this was conflated with another Oracle-specific behavior.

Backport of a03d38d from master.
[1.7.x] Fix missing highlighting in some code examples

Backport of 84cafc2b35 from master
Checked can_introspect_null feature in a test.
Replaced an explicit vendor check by a feature flag.