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.