fix: quickfix COPS-6085
fix: quickfix COPS-6085

the JSON-editor somehow shows duplicated volumes in the production environment.
yes, that's right: you can't reproduce this in the usual development setup.

to reproduce, create a file based secret with the name "keytab" and start the
following service:

```
{
    "id": "secret-file",
    "cmd": "cat $MESOS_SANDBOX/secret_file ; sleep 600; echo ''",
    "container": {
        "type": "MESOS",
        "volumes": [
            {
                "containerPath": "secret_file",
                "secret": "super_secret"
            }
        ]
    },
    "secrets": {
        "super_secret": {
            "source": "keytab"
        }
    }
}
```

you could (currently) run a prod build locally on port 4201 like so:

```
npm run build && cd dist && say bla && npx http-server -sp "4201" --proxy "http://localhost:4200" --proxy-secure=false
```

------------------------------

this fixes the issue by deduping the volumes by `containerPath` (as at a single
path there should only be a single volume, right?).

the fix i'd wish for would be to completely overhaul the form-architecture to
have an easier time to debug this properly. currently there are "contexts" on
reducers (`.call(this, [...])`) and their behaviour seems to differ in dev/prod
for minification/uglification-reasons. we should at least get rid of those
contexts that are obsolete now that we merged all enterprise-plugins into the
codebase and can add them conditionally more easily.
We could also get rid of the "Batch" (which effectively
duplicates redux' behaviour and causes trouble if you edit form elements really
often) along those efforts.

closes COPS-6085 D2IQ-67819

dcos/dcos-ui,dcos/dcos-ui,dcos/dcos-ui,dcos/dcos-ui,dcos/dcos-ui