Make sure calls to $model->values() use only set a limited set of fields

Previous the list was only being limited on the 2nd call after validation
but because we reused the model object the values still got saved later.

Now making sure we limit this everywhere.
Make Attribute options use built-in serialize_columns to encode/decode

Previously we were manually json_encoding/decoding this field, but
Kohana can do that for us.