Serialized comparing

For models with serialized attributes, use the hash code to determine if a column has changed.

Only save changed columns to database.

This is in response to rails#8328

---

I found working with `ActiveRecord` and the `Dirty` concept a little tricky because `Core` is so high in the ancestors chain. Since `Core` comes before `Dirty` or `Serialized`, the only extension point is to modify `Core` or the `Behavior` injected by the `serialize :attribute` call. This PR is the latter.

Thanks again to @rafaelfranca for your previous review.

--Keenan