Implement `_was` and `changes` for in-place mutations of AR attributes

@sgrif ping? I was gonna merge this just now but we should probably resolve this point before it goes into master :smile: