Starting dirty objects.

Implemented <attr>_changed, <attr>_was, <attr>_change.
Showing what changed.
Ok, let's keep the ActiveRecord method names the same here.
Showing what attributes were changed.
Ok, that was just stupid and lame: the dirty objects tests weren't running.

I just named the function with the 'check' prefix and not the 'test' prefix, so,
it was not running.

There were a lot of bugs there, but I fixed them and added the 'reset' feature
on the old data, making the current saved data as the old data when saving the
object.