Fix listDirHealFactory merging of entries across disks (#3959)
Fix listDirHealFactory merging of entries across disks (#3959)

For listing of objects needing heal, we list all objects present on all
the disks and return the set union. We were incorrectly dropping objects
that weren't already seen in disks so far.

Sample directory layout of disks in a 4-disk setup:
`/tmp/1`, `/tmp/2`, `/tmp/3`, `/tmp/4` are directories used as disks here.
`test` is the bucket, `obj1` and obj2` are the objects.
```
/tmp/1/test
└── obj2
    ├── part.1
    ├── part.2
    └── xl.json
/tmp/2/test
└── obj1
    ├── part.1
    ├── part.2
    └── xl.json
/tmp/3/test
├── obj1
│   ├── part.1
│   ├── part.2
│   └── xl.json
└── obj2
    ├── part.1
    ├── part.2
    └── xl.json
/tmp/4/test
[This is empty]

```

dutchcoders/minio,luomeiqin/minio,balamurugana/minio,brendanashworth/minio,balamurugana/minio,harshavardhana/minio,dutchcoders/minio,donatello/minio,jimjag/minio,aead/minio,dvstate/minio,aead/minio,fwessels/minio,NitishT/minio,dutchcoders/minio,hackintoshrao/minio,brendanashworth/minio,harshavardhana/minio,harshavardhana/minio,abperiasamy/minio,aead/minio,hackintoshrao/minio,vadmeste/minio,abperiasamy/minio,rushenn/minio,krishnasrinivas/minio,rushenn/minio,rushenn/minio,fwessels/minio,abperiasamy/minio,jimjag/minio,krishnasrinivas/minio,dutchcoders/minio,luomeiqin/minio,fwessels/minio,dvstate/minio,harshavardhana/minio,NitishT/minio,krisis/minio,NitishT/minio,harshavardhana/minio,aead/minio,brendanashworth/minio,harshavardhana/minio,fwessels/minio,krishnasrinivas/minio,brendanashworth/minio,aead/minio,aead/minio,rushenn/minio,aead/minio,krisis/minio,dvstate/minio,hackintoshrao/minio,vadmeste/minio,jimjag/minio,harshavardhana/minio,NitishT/minio,minio/minio,dvstate/minio,luomeiqin/minio,donatello/minio,abperiasamy/minio,hackintoshrao/minio,jimjag/minio,aead/minio,krishnasrinivas/minio,harshavardhana/minio,minio/minio,luomeiqin/minio