freebsd: Adjust xconnect mode setting to match new framework.

Handling of the xconnect mode has changed in the rest of the vRouter code.
This adjustments are mostly based on their Linux counterparts.
freebsd: Fix mbuf trimming before transmitting a packet

m_adj() if provided with negative length parameter trims tail of the entire
mbuf chain, not prepend bytes to the head. M_PREPEND can be used for that.
freebsd: Prevent double tapping/detapping that may result in NULL pointer

This is rather a temporary workaround than a complete solution. Need to
investigate more on the new framework for tapping/detapping and rework
that code accordingly.