pf: Fix and improve interface group support
The old PF code has broken partial support of the interface group.
Without this patch, loading the 'pf.ko' module will panic the system.
* Add event handlers of pfi_{attach,detach,change}_group_event()
to support the interface groups. Meanwhile, add event handler
of pfi_ifaddr_event() that is called when an address is set up
on an interface, and update pfi_{attach,detach}_event() handlers.
(Based on FreeBSD)
* Remove function pfi_kifaddr_update() as it is merged into
pfi_ifaddr_event() handler.
* Update pfi_initialize() and pfi_cleanup() functions (Based on
FreeBSD).
* Split function pfi_kif_find() out of pfi_kif_get().
(Based on OpenBSD)
* The PF module will be properly initialized on module load, so remove
extra pfi_initialize() calls.
* Rename malloc type 'PFI_MTYPE' to 'M_PFI', and merge with malloc type
'M_PFIADDRPL'.
* Staticize internal functions and variables.
* Some cleanups and style updates.
Thanks to sephe for the guidance.
UnifiedSplitRaw