Added a remote handle (remote shared pointer) for managed ice objects
the user should use the RemoteHandle template instead of the ClientSideRemoteHandleControlBlock which is send. (the RemoteHanlde can't be send directly)
the handle can be send to a different computer and uses as an ice proxy. as long as one handle lives on any computer the ice object lives. if all handles are deleted the object is unregistered from ice and deleted (as long as the creator does not stop the deletion of the object) the object creator may force the objects deletion (this is done when shutting down the armarx manager to remove all remaining objects)
a object may leak if a connection error stops the message send when a handle is deleted (this stops the usecount from reaching zero). a object may be deleted with handles still alife if:
- the object's deletion was forced
- a scenario equivalent to this: pc A has the object and sends a handle to B pc B has now the only handle pc B now sends the handle to pc C and delets the handle before C deserialized the object (this could be done via a broadcast) The handle is deserialized after the deletion timeout set via property (default 3 sec) has passed. This scenario is possible but should not happen on a stable LAN if ice objects are not keept in a serialized form for a longer period