Public network support via macvtap

This pull requests adds support for public_interfaces using the macvtap kernel driver. The configuration for using this is explained here http://www.libvirt.org/formatdomain.html#elementsNICSDirect. 

I have tested this only one a wired connection. A caveat to macvtap is the host system is not able to talk directly to this public_interface due to a limitation in macvtap. However, that is not really an issue since the host can communicate with the virtual machine via the private adapter that is set up automatically for bootstrapping.