This removes the need to expose supplier_ids through #<< and makes both
ResetAbsent and its strategies simpler.
This could be made even simpler if the strategies just implemented
`#relation` as public method and ResetAbsent called `#update_all` on
them. The data to be fetched is the only thing that changes but the
update is the same.
No need to go through half of the algorithm if the setting is not
enabled. It does not change per enterprise.
This also assumes "Previously we were updating both (products and inventory)
at the same time during one import, but now it's one or the other" in
Matt's words.
This also turns local vars into ivars so that the behaviour can be
thoroughly tested. These ivars are meant to be removed once this class
is refactored further. Now there's no other way to ensure its state.
This encapsulates the data structure used by the entry processor to
check various settings. It still requires a lot of work to move more
logic to this new class.