<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
Add new commands to the Redfish remote_management modules to perform firmware update requests.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
redfish_config.py
redfish_utils.py

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
Operators need a way to update firmware on Redfish managed systems. Would like an extension made to be able to perform SimpleUpdate actions with a specified firmware image. At the very minimum we can point to a remote HTTP/TFTP/SCP/etc server, but if possible, it might be good to spin up a lightweight HTTP server to service the request in case one isn't provisioned.

<!--- Paste example playbooks or commands between quotes below -->
```yaml
  - name: Pull style update
    redfish_config:
      category: Update
      command: PullUpdate
      image: http://my.file.repo/someimage.bin
      targets:
        - /redfish/v1/Systems/1
        - /redfish/v1/Systems/2
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
```

<!--- HINT: You can also paste gist.github.com links for larger files -->

if not isinstance(set_value, dict) and not isinstance(set_value, list):
                if set_value != cur_value:
                    need_change = True
            
            if isinstance(set_value, dict):
                for subprop in payload[property].keys():
                    if subprop not in target_ethernet_current_setting[property]:
                        return {'ret': False, 'msg': "Sub-property %s in nic_config is invalid" % subprop}
                    sub_set_value = payload[property][subprop]
                    sub_cur_value = target_ethernet_current_setting[property][subprop]
                    if sub_set_value != sub_cur_value:
                        need_change = True
            
            if isinstance(set_value, list):
                for i in range(len(set_value)):
                    for subprop in payload[property][i].keys():
                        if subprop not in target_ethernet_current_setting[property][i]:
                            return {'ret': False, 'msg': "Sub-property %s in nic_config is invalid" % subprop}
                        sub_set_value = payload[property][i][subprop]
                        sub_cur_value = target_ethernet_current_setting[property][i][subprop]
                        if sub_set_value != sub_cur_value:
                            need_change = True
        if not need_change:
            return {'ret': True, 'changed': False, 'msg': "Manager NIC already set"}
        response = self.patch_request(self.root_uri + target_ethernet_uri, payload)
        if response['ret'] is False:
            return response
        return {'ret': True, 'changed': True, 'msg': "Modified Manager NIC"}