Improve Ruby and Python json object enumeration

This cherry-picks 626ea83f2839523af0ed05a6f8d6b2dafdf2ffd, ced8d5c4314cf3c2940464e308b06b63500a18ba and 285f4b4e3d280f697f78480b8ef38a9ad876aabe from #53 , focusing on the json object enumeration problem. This doesn't solve the issues with enumerating arrays, but does deal with enumerating centroid wrapped dictionary/hash types.

CHANGELOG update to follow PR ID generation.
Good point--I think this is a bit of a legacy of the way I chopped up the commits from stuff that was attempting to handle arrays as well... and nuking everything but the inside of this statement (assume hash) still passes the tests...

I think I'll nuke it and let the actual array handling stuff add it back if it ends up being needed.