##### SUMMARY
Some of the modules still return something in `ansible_facts`, even though the result in there is an empty list:
 - ~~`azure_rm_publicipaddress_info`~~
 - ~~`azure_rm_networkinterface_info`~~
 - `azure_rm_storageaccount_info`
 - `azure_rm_virtualmachineimage_info`
 - `azure_rm_virtualmachinescaleset_info`
 - `azure_rm_virtualnetwork_info`

Finally, `azure_rm_resourcegroup_info` always returns `ansible_facts` with content (which is also returned as non-`ansible_facts`).

When called as `_info` modules, these modules should not have anything in `ansible_facts` when returning.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
~~azure_rm_publicipaddress_info~~
~~azure_rm_networkinterface_info~~
azure_rm_resourcegroup_info
azure_rm_storageaccount_info
azure_rm_virtualmachineimage_info
azure_rm_virtualmachinescaleset_info
azure_rm_virtualnetwork_info

##### ANSIBLE VERSION
```paste below
2.9
```

for key in self.module_arg_spec:
            setattr(self, key, kwargs[key])
        if self.name:
            self.results['ansible_facts']['azure_resourcegroups'] = self.get_item()
        else:
            self.results['ansible_facts']['azure_resourcegroups'] = self.list_items()
        if self.list_resources:
            for item in self.results['ansible_facts']['azure_resourcegroups']:
                item['resources'] = self.list_by_rg(item['name'])
        self.results['resourcegroups'] = self.results['ansible_facts']['azure_resourcegroups']
        return self.results
    def get_item(self):
        self.log('Get properties for {0}'.format(self.name))
        item = None
        result = []
        try:
            item = self.rm_client.resource_groups.get(self.name)
        except CloudError:
            pass
        if item and self.has_tags(item.tags, self.tags):
            result = [self.serialize_obj(item, AZURE_OBJECT_CLASS)]
        return result
    def list_items(self):