<!--- 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 -->
azure_rm_galleryimageversion_module should be able to take data disk snapshots as input.

##### ISSUE TYPE
- Feature Idea

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

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
Starting from SIG api version 2019-07-01, we support creating image version from snapshots, which contains 1 os disk snapshot and 0 to many data disk snapshots. By having this feature, it give customers full power to create image version from snapshots.

Here is a sample request entity:
{"name":"1.0.0","location":"West US","properties":{"publishingProfile":{"excludeFromLatest":false},"storageProfile":{"osDiskImage":{"source":{"id":"/subscriptions/<subId>/resourceGroups/rgName/providers/Microsoft.Compute/snapshots/osSnapshotName"}},"dataDiskImages":[{"lun":0,"source":{"id":"/subscriptions/<subId>/resourceGroups/rg/providers/Microsoft.Compute/snapshots/datadiskSnapshot1"}}]}}}

So for data disk, user needs to provide "lun" and "source".

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

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

if not value_dict.get('resource_group'):
            value_dict['resource_group'] = self.resource_group
        
        for k in value_dict:
            if not ('{' + k + '}') in pattern:
                return None
        
        return pattern.format(**value_dict)
    def idempotency_check(self, old_params, new_params):
        '''
        Return True if something changed. Function will use fields from module_arg_spec to perform dependency checks.
        :param old_params: old parameters dictionary, body from Get request.
        :param new_params: new parameters dictionary, unpacked module parameters.
        '''
        modifiers = {}
        result = {}
        self.create_compare_modifiers(self.module.argument_spec, '', modifiers)
        self.results['modifiers'] = modifiers
        return self.default_compare(modifiers, new_params, old_params, '', self.results)
    def create_compare_modifiers(self, arg_spec, path, result):
        for k in arg_spec.keys():
            o = arg_spec[k]
            updatable = o.get('updatable', True)
            comparison = o.get('comparison', 'default')
            disposition = o.get('disposition', '*')
            if disposition == '/':
                disposition = '/*'
            p = (path +
                 ('/' if len(path) > 0 else '') +
                 disposition.replace('*', k) +