sd-rtnl: message - don't skip parts of message when parsing

If a message type occurs repeatedly let the last one win.

Also, don't skip type == MAX.

Based on patch from: Susant Sahani <susant@redhat.com>
sd-rtnl: message - protect against SEGFAULT when reading messages

Make sure the returned data fits the datatype we requested. Otherwise return -EIO.

Also fix a broken test that this exposed.