Upgraded ByPropertyIdArray

ByPropertyIdArray may act as an interface between a flat list of objects and its objects
grouped by property now. Objects can be added to and moved within the structure.

Change-Id: I771507cea8e38c117af9d27ed4af7b573bc1e897