Gets or sets the IndirectObject at the specified index. In C#
this property is the indexer for the class.
An IndirectObject can exist in only one ObjectSoup at a time. If
the object supplied is already contained in another ObjectSoup then
a Clone of the object is inserted.
When an IndirectObject is inserted the ID is updated to
reflect the position of the object within the Soup.