netlink: improve interface handling
- Separate interface creation from interface modification code
- Support setting some interface attributes (ifdescr, mtu, up/down, promisc)
- Improve interaction with the cloners requiring to parse/write custom interface attributes
- Add bitmask-based way of checking if the attribute is present in the
message
- Don't use multipart RTM_GETLINK replies when searching for the
specific interface names
- Use ENODEV instead of ENOENT in case of failed RTM_GETLINK search
- Add python netlink test helpers
- Add some netlink interface tests
Differential Revision: https://reviews.freebsd.org/D37668
(cherry picked from commit 80f03e63d67ede8fedbed4bd6bf6b12ec2ab2cfb)