value_id_to_values_frozen() can correctly thaw data structures containing UR objects

Previously, it would return things blessed as UR objects, but were clones of
the objects in the object cache.  When this new, thawed data went out of
scope, it would incorrectly trigger DESTROY() on those clones, leading to
Badness.

_fixup_ur_objects_from_thawed_data takes in a list of thawed data and
recursively inspects the contents, swapping out cloned UR objects for
the originals in the object cache.

Change-Id: Ib0a2186356e1ccee5c9efd1c7745e561e927eab5
Work for the case the embedded data structure has multiple references to the same object

Change-Id: I750524a326f0a52dcd9503ac0fd98cb65ebaa0cd
Correctly handle self referential data structures when thawing data

Change-Id: I87b6e7bd01143f0abf715c76cd6183902a49c901
Handle the case of a reference to a reference to the data

Change-Id: I0f0a5f65b929b50a8d19547cb17b2de130427f55