Because of the way async tasks pass arguments, we were passing in a string of a dictionary
that contained the id verification status but checking it against a dictionary in the
task's function, which was causing errors for generating certificates for passing users
whose id verification status changes to approved after they are passing.
This reworks what was done #17930, since it had to be reverted from the IDVerificationAggregate migration.
We decided to abandon that model and directly read from both id verification models.
This partially reverts commit ee1c3a4548.
The migration files introduced by the commit have been kept since they have been run
already on several enviornments.