This change fixes an issue where using the `disk_additional_size` configuration option would cause builds to fail.
Build results before the change
```
==> Builds finished but no artifacts were created.
Build 'azure-arm' errored: Code="DeploymentFailed" Message="At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details." Details=[{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code
\": \"InvalidParameter\",\r\n \"message\": \"The entity name 'dataDisk.name' is invalid according to its validation rule: ^[^_\\\\W][\\\\w-._]{0,79}(?\u003c![-.])$.\",\r\n \"target\": \"dataDisk.name\"\r\n }\r\n}"}]
```
Build results after change
```
Build 'azure-arm' finished.
==> Builds finished. The artifacts of successful builds are:
--> azure-arm: Azure.ResourceManagement.VMImage:
OSType: Linux
ManagedImageResourceGroupName: test-pkr
ManagedImageName: wilkenPacker9249
```
Closes#9249
* Adding NSG to the ARM eployment template when needed
* Adding tests and fixing bugs
* Removing denyall rule
* Fixing logic to determine which port to open
* Fixing config description
This is last merge that will happen from the github.com/Azure/packer-Azure
repository. All development is being over to this repository.
The biggest change in this merge is support for Windows. There are a few other
fixes as well.
* If the user cancels the build, clean up any resources.
* Output a reasonable build artifact.
* Log requests and responses with Azure.
* Support for US Government and the China clouds.
* Support interrupting long running tasks.
* Allow the user to set the image version.
* Device login support.