##### 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
```

return [self.serialize_obj(item, AZURE_OBJECT_CLASS) for item in raws] if raws else []
    def curated_list(self, raws):
        return [self.record_to_dict(item) for item in raws] if raws else []
    def record_to_dict(self, record):
        record_type = record.type[len('Microsoft.Network/dnszones/'):]
        records = getattr(record, RECORDSET_VALUE_MAP.get(record_type))
        if not isinstance(records, list):
            records = [records]
        return dict(
            id=record.id,
            relative_name=record.name,
            record_type=record_type,
            records=[x.as_dict() for x in records],
            time_to_live=record.ttl,
            fqdn=record.fqdn,
            provisioning_state=record.provisioning_state
        )
def main():
    AzureRMRecordSetInfo()
if __name__ == '__main__':
    main()