Currently the only consumer of this bit of functionality is if_wg.
Right now each driver defines a single cloner. However, during vnet
teardown we need to destroy all interfaces created in that vnet, and
if_cloner expects consumers to create a cloner per vnet.
Virtualize the iflib_pseudos list and require consumers to register a
pseudo interface type in each vnet. Consumers must also call into iflib
to deregister pseudo interface types for now.
iflib also creates a device for each pseudo interface, since a lot of
iflib's internal interfaces depend on having a device_t available. For
now at least, iflib also expects the ifnet and device unit numbers to
match, so iflib needs to handle unit number allocation (previously done
by if_cloner).