Surfaced the shape info in CellValue
TODO: try to figure out a solution to the problem below.
Currently, the values in CellValue is stored as ValueSet, which is
actually a map from ClassReference -> AbstractValue. Here is the
problem, in cell array, there can be more than one field with the
same classRef, so if we use ValueSet to store values of cell array,
the fields with same classRef will be merged.
What if we use Set to store values in cell array, any side effects?