netlink: provide snl_clone() to create a secondary snl state
The function will clone an existing snl_state(). The clone points at the
same socket, but has a separate allocator. Closing a clone frees the
memory, but doesn't close the socket. Such clones are handy in a
multithreaded process that has a single socket with multiple writers and a
serialized reader. It can be easily extended to support multiple readers,
too, but now there is no use.
Reviewed by: melifaro
Differential Revision: https://reviews.freebsd.org/D48568