<!--- 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 param:
                if spec[name].get('purgeIfNone', False):
                    body.pop(name, None)
                continue
            
            pattern = spec[name].get('pattern', None)
            if pattern:
                if pattern == 'camelize':
                    param = _snake_to_camel(param, True)
                else:
                    param = self.normalize_resource_id(param, pattern)
                    body[name] = param
            disposition = spec[name].get('disposition', '*')
            if level == 0 and not disposition.startswith('/'):
                continue
            if disposition == '/':
                disposition = '/*'
            parts = disposition.split('/')
            if parts[0] == '':
                
                parts.pop(0)
            target_dict = body
            elem = body.pop(name)
            while len(parts) > 1:
                target_dict = target_dict.setdefault(parts.pop(0), {})
            targetName = parts[0] if parts[0] != '*' else name
            target_dict[targetName] = elem
            if spec[name].get('options'):
                self.inflate_parameters(spec[name].get('options'), target_dict[targetName], level + 1)
    def normalize_resource_id(self, value, pattern):