Use istype() when checking if canned object is a dict

Using istype(canned, dict) instead of isinstance(canned, dict) ensures that dict subclasses retain their type during unserialization. This also agrees with the implementation of serialize_object().