Support classes for serializing and unserializing object graphs.

Important insights due to Arturo Bejar.

@author Mark S. Miller