Move `attributes_before_type_cast` to `AttributeSet`

this returns a hash object and not array, right? `values` implies array like `hash.values`. perhaps this should just be called `before_type_cast`