Factory for turning an array of RawDataBlock instances containing
Proprty data into an array of proper Property objects.
The array produced may be sparse, in that any portion of data that
should correspond to a Property, but which does not map to a proper
Property (i.e., a DirectoryProperty, DocumentProperty, or
RootProperty) will get mapped to a null Property in the array.