Given a collection `candidates` (which may contain duplicates) and a `target`, return all unique combinations that sum to target. Each candidate may be used at most once. Return each combination sorted ascending and the list sorted, for a deterministic result.