Always wrap salt-call return dict

salt.cli.caller.Caller.run() was checking if the return data was a dict,
and wrapping it in an outer dict like so: {'local': ret['return']} if
the data was not a dict, to ensure that the return data is in the right
format for the different outputters.

The problem with this is that there are many execution functions that
already return a dict, such as network.interfaces, grains.items,
pillar.items, etc. These will not be wrapped. This results in a
traceback when running grains.items via salt-call, since the grains
outputter expects the return data to be a dict of dicts, with the
top-level keys being the minion id and the 2nd level being the minion's
grains dict.

This commit removes the isinstance check and simply always wraps the
return data in the 'local' dict.
Merge pull request #7035 from terminalmage/grains-outputter-fix

Always wrap salt-call return dict