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.