Fixes bug related to password complexity limits

In some cases the randomly generated password can not fulfill the
complexity requirements. This patch adds a retry in case of failure with
a maximum limit suitable from a practical standpoint.
Adds plugin platform and min os version check

Some plugins support only a given platform and / or a minimum OS version.

ExtendVolumesPlugin is not supported on Windows XP.

This commit adds support for filtering the plugins based on OS
requirements.
Merge pull request #16 from ader1990/master

If UserDataPlugin cannot find the user_data file, it has to throw ExistingMetadataException
Merge pull request #18 from ader1990/master

Filter network adapters to require a MAC address
Adds LICENSE file
Minor refactoring in shell.py
Merge remote-tracking branch 'upstream/master'