Use un-overriden (but typecast) values when returning attributes hash

This more closely matches the behavior of ActiveRecord, further
reducing unexpected behavior for users familiar with AR.

Signed-off-by: Evan Owen <kainosnoema@gmail.com>