Fix windows slow Powershell script when checking for VirtualBox requirement & add support for custom local script

- Fixed the issue where Powershell "Get-WmiObject -Class Win32_Product" perform very poorly by replacing it with "New-Object -ComObject "VirtualBox.VirtualBox" to check for VirtualBox requirement.  
- Display only missing required resource for error messages.
- Add support to execute custom local scripts (bin/local-init & wbin/local-init.ps1) if exists