Added ability to execute native powershell scripts

by specifying "#ps1_native", powershell will be launched from the
sysnative file system redirected folder. useful when trying to import
modules that only reside in 64bit powershell (ServerManager for example)
Changes as requested for pep8 + others.

Modified code to be pep8 compliant. Added check for sysnative folder
presence.
Merge pull request #9 from s7oneyuk/master

Added ability to launch 64bit powershell scripts
Checks for SYSNATIVE folder presence

Checks for sysnative folder presence instead of the Powershell
subdirectory.

Adds some minor refactory as well.
1. Changed UserDataPlugin class to handle multipart user data
2. Added PluginSet class which dynamically loads all available plugins
in userdata-plugins subfolder
3. Added standard plugins to handle typical content types in multipart
data
Adds ConfigDrive support for Windows XP

Windows XP does not support the WMI class Win32_Volume. This patch
replaces is with a call to the GetVolumeInformationW WIn32 API.
Fixes bug in waiting for sysprep completion

wait_for_boot_completion() needs to be called before get_metadata_service()
as the metadata service constructor can fail due to Windows APIs not yet
available.
Merge pull request #12 from gokrokvertskhov/rebase#07222012

Multipart data handling - new request for rebased code
Pep8 and assorted cleanups on multi-part userdata

General cleanup and minor refactoring.
test for metadata factory
Merge https://github.com/cloudbase/cloudbase-init