Windows Server Core support in UnzipModule

Using the Windows Shell Zip integration may not work on Server Core installations as these typically don't have the Windows Shell present unless the Administrator manually installs it at a later date. There's also the less common case where the Windows Shell is present but Zip integration has been disabled (usually by the user tweaking some Registry settings) in which case the COM calls will also fail in the same manner.

I've refactored the UnzipModule function so that it now supports unzipping using an alternate method provided by the new System.IO.Compression.ZipFile class in .NET 4.5. This has the benefit of working on all Server Core installations if it has been installed (assuming it isn't built-in depending on OS version) without needing to install the Windows Shell. If neither method works, we exit and let the user know what went wrong with some suggested steps to fix the issue.