Fix WinRM elevated shell defects

Giving the elevated communicator in Packer the same treatment as Vagrant
- Ensure we always return the command's exit code
- Avoid command line too long errors by uploading the command as a script
Use configured temp directory instead of hardcoded path