it turns out that doing lots of 6 byte memcpy()'s is dumb on modern
intel hardware.  The backend gets less annoyed at you if you
do 6 one-byte copies rather than a REP MOV for 6 bytes.

So, introduce ETHER_ADDR_COPY().
* Use ETHER_ADDR_COPY() appropriately
* Move the bridge check _above_ the L2 mtag addition and the
  vlan stripping.

What we actually want here is a bridge that implements frame
copying _before_ vlan tags are stripped.  Otherwise inline mode
with 802.1q frames will end up rebroadcasting non-vlan tags
to other interfaces.

This work is for:

* not doing stupid 6 byte memcpy()'s
* don't populate the l2 tag information _before_ we do the
  bridge frame duplication, otherwise m_copypacket() will do
  a deep copy of the mbuf tags;
* don't strip vlans before we pass to BRIDGE_INPUT() so bridge
  will forward whatever frames are provided.
Disable TCP checksumming.

It's chewing far too much time when doing lots of data through
passive intercept.

I'd like netmap to expose the hardware checksum information so it
can be thrown into here and inspected, but unfortunately that
doesn't seem to be doable without a bunch of netmap engineering.