Add vmware workstation support.

Use a generic vmware model to support fusion and workstation. A generic
vmware provider will pick the appropriate provider. A warning message is
generated regarding missing plugin if vmware provider is requested and
neither fusion or workstation plugin is loaded.
Since this is an abstract Class, should we be registering it as a provider model?