Fix possible memory leak in inf_session_communication_object_received()
Fix the cleanup tests

This change involves making the function inf_adopted_algorithm_cleanup()
public, so that it can be called by InfAdoptedSession at the appropriate time.
Another nice benefit of this is that now it is up to the user of
InfAdoptedAlgorithm to decide when to remove no longer used requests. This
can for example be used to keep a full history by not calling the function at
all, or to cleanup in regular intervals.