Return object type from get_list_item function
Make inventory object take internal references to its objects

Before the content of an inventory object could dynamically change
during the inventory lifetime.

Now the inventory object create basically a snapshot of the objects
existing when the inventory object was opened, by taking internal
references to the objects.
Move object lookup from object implementation in to API subsystem
Move temporary string object lookup out of functions into API subsystem