Fixed #20392 -- Wrapped TestCase into a class-wide transaction

The goal of this PR is to allow the creation of initial test data once for a `TestCase`, through the class method `setupTestData` (see https://code.djangoproject.com/ticket/20392).
I think that we are past the approval step, so I'll say go ahead. Or do you think there's still a design decision to take?