handle unset collection columns persisted records
Ensure empty attributes are set correctly in new and hydrated records

E.g. if a list column is not populated, the result row from the adapter will
return `nil`. From `Cequel::Record`'s standpoint, though, an empty list column
is always an empty `Array`, not `nil`. This was previously enforced in the
`read_attribute` method, but that caused infinite recursion in some situations
due to behavior ActiveModel::Dirty implements for `write_attribute`.