Plug in a leak in m_unshare where it passes on M_NOFREE from the source
mbuf's flags to m_getcl. The mbuf allocated by m_getcl is never freed
as a result. M_READONLY should probably be filtered out too but that's
outside the scope of this fix.
Add assertions in the zone_mbuf and zone_pack ctors to catch similar
bugs.
Update netmap_get_mbuf to not pass M_NOFREE to m_getcl. It's not clear
what the original code was trying to do but it's likely incorrect.
Updated code is no different functionally but it avoids the newly added
assertions.