<!--- 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 -->
During the 2019 APTS Plugfest, it was noted that the `GetFirmwareInventory` command was gathering the `FirmwareInventory` from the `UpdateService`, but not the `SoftwareInventory`.

There are two options to address this request:

1. Update the `GetFirmwareInventory` command to also gather the `SoftwareInventory`.
2. Add a new `GetSoftwareInventory` command.

I'll get input on these two options. [Per Tools Task Force call, agreed on option 2.]

##### 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_facts.py
redfish_utils.py

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
Operators want to be able to get `SoftwareInventory` as well as `FirmwareInventory`. There is currently no way the gather the `SoftwareInventory` using the Ansible Redfish modules.

<!--- Paste example playbooks or commands between quotes below -->
**Option 1:**
```yaml
  tasks:

  - name: Get Firmware and Software Inventory
    redfish_facts:
      category: Update
      command: GetFirmwareInventory
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
    register: result
```

**Option 2:**
```yaml
  tasks:

  - name: Get Firmware Inventory
    redfish_facts:
      category: Update
      command: GetFirmwareInventory
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
    register: result

  - name: Get Software Inventory
    redfish_facts:
      category: Update
      command: GetSoftwareInventory
      baseuri: "{{ baseuri }}"
      username: "{{ username }}"
      password: "{{ password }}"
    register: result
```


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

if not user.get('account_username'):
            return {'ret': False, 'msg':
                    'Must provide account_username for AddUser command'}
        response = self._find_account_uri(username=user.get('account_username'))
        if response['ret']:
            
            return {'ret': True, 'changed': False}
        response = self.get_request(self.root_uri + self.accounts_uri)
        if not response['ret']:
            return response
        headers = response['headers']
        if 'allow' in headers:
            methods = [m.strip() for m in headers.get('allow').split(',')]
            if 'POST' not in methods:
                
                return self.add_user_via_patch(user)
        payload = {}