Generic MixinVendorInterface using static mapping

Use a MixinVendorInterface and a dict for static mapping,
so every method:vendor interface mapping is explicit.

Example:

self.pxe_vendor = pxe.VendorPassthru()
self.ipmi_vendor = ipminative.VendorPassthru()
self.mapping = {'pass_deploy_info': self.pxe_vendor,
	        'set_boot_device': self.ipmi_vendor}
self.vendor = utils.MixinVendorInterface(self.mapping)

Partial-Bug: #1264596

Change-Id: I5dd5a02164670476b0d6ff121bed57569c341a61