Fixed #22962 -- Default values for ArrayField with migrations.

If prep_value receives a string, it should use the to_python method to convert it back into a list so psycopg2 can correctly pass it down to the database.

@andrewgodwin any ideas why I'm getting a string from the migration runner anyway? Seems a bit strange to me.

FWIW I have also checked this works if the default is `[1]`. The original proposed patch on the ticket failed in this case.