Enable reuse of low-level netlink functions

Factors out basic netlink functions into the nlmsg package.

Note that this does not provide forwarding for functions previously
exported from Netlink, but now exported only from nlmsg.  While
technically a breaking change, I'm not sure if these functions could
have been meaningfully used from netlink.  I'm happy to implement
forwarding function if needed though.

Addresses #218
This will end up aligning length of each child as opposed to the total. Is that intended?
There is a RtAlignOf called on what is returned from here in ToWireFormat.