After sending a message only a single call to `conn.Receive` is made
which can cause messages to queue up in the receive buffer if not all
messages can be returned at once. This causes `ENOBUFS` as the kernel is
unable to write any further messages.
This commit introduces a check that ensures we call `conn.Receive` as
often as needed to get the right number of responses: one for
acknowledgment and one for the echo.
Resolves: #235
* Close receiver for lasting netlink connections while defaulting to existing temporary netlink connection usage
* add unit test for New lasting connection, Close and correct default connection handling behavior
* refactor tests to use New constructor
* make Conn mutex un-exported (#159)
fixes issue #157