marshal: ensure we correctly handle signed result from serialization

We must handle correctly `ssize_t`. Try to not cast this to another
type, let alone a non signed type.
lldpd: fix timer initialization when checksum is 0

If the checksum computed over the port happens to be 0, the LLDPDU is
never scheduled for emission on this port. We ensure that a computed
checksum is never 0. If two different ports happen to have the same
checksum, we consider it unlikely enough to bear with the fact that the
timer will not be reset in this case.