Add support for VLAN tags to the MAC learning library.
vswitchd needs to keep separate per-VLAN MAC learning tables, so this adds
a VLAN tag to each MAC learning table entry. The existing users of the
MAC learning table don't care about VLANs, so they always pass in a VLAN
of 0.
There is a very good chance that vswitchd will need additional features in
its MAC learning table that don't fit well into the existing library. In
that case this commit will probably be reverted and a separate MAC learning
implementation added in the vswitch directory.