Multi-command salt calls return highest exit
Multi-command salt calls return highest exit

Running a multiple command salt call will currently make salt think that
all of the minions returned with a failed state regardless of the return
values of the modules actually run. Right now it just returns the value
of `retcode` in the return dictionary if the return value is a
dictionary.

This checks if the `retcode` value is a dictionary itself, and then
returns the maximum return code that we recieved. This means that we
will continue to fail if the jobs did fail, but will return a zero if
all the jobs did so.

saltstack/salt,saltstack/salt,saltstack/salt,saltstack/salt,saltstack/salt