When a device is updated with new data, only change the NI if it is not
null.

If a device was discovered using the network and later some data is
received, the object in the network will be updated with the data from
the message that does not include the NI, so only update this parameter
if it is not null.

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
Created an internal method in DataReader to get the remote device from a
packet.

Added also some test cases to check this is working properly.

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>