Fix Hash#inspect by not caching map and smap

Apparently as #650 demonstrates `smap` gets corrupted and ends up being
different from `self.smap`, actually seems to be equal to value (or `value.smap`).  My gut tells me that we’re missing a `var smap` somewhere.

The fix just always fetches map and smap from self.

Closes #650.