PG arrays should type cast user input

We guarantee that `model.value` does not change after
`model.save && model.reload`. This requires type casting user input for
non-string types.
Merge pull request #15686 from sgrif/sg-pg-int-arrays

PG arrays should type cast user input