[PYG-392, PYG-386] 😅 Duplicated reverse direct relations. (#496)

# Description

**Context** To support looking up reverse direct relations, pygen used
the `models/instances/search` endpoint with a lookup of the direct
relation to the current nodes. For example, is ItemA has a reverse
direct relation to ItemB, ItemA <- ItemB. Then, `pygen` looks up items B
that points to the ItemA nodes we already have. This is done in chunks
of 100. If a itemB points to multiple item A, and these go into
different chunks, then we get a duplicate an the error described below.

This PR ensures that we do not keep ItemB nodes more than once for each
node.

## Bump

- [x] Patch
- [ ] Minor
- [ ] Skip

## Changelog
### Fixed

- Calling `.list(..., retrieve_connections='full')` no longer raises a
`ValueError: Unable to extend as this would introduce duplicates` if
there are reverse direct relations that points to multiple nodes.
