Utility methods for
1) Flattening a raw nested json string into a AttributeStore object, and
2) Re-expanding a flattened json object from a AttributeStore back into a raw nested
json string.
This comparator is used to sort a list of attributes that represent flattened json so that raw json can
be reconstructed with array sort order already in tact.
Re-expands a nested attribute representation from a collection of attributes back into a nested
java object representation (objects become Map, arrays become Lists, and non-containers stay
the same).