lldpd: make notifications work when a port goes down

We need to refactor a bit `lldpd_remote_cleanup()` to separate the
expiration process (checking each remote port to check if it is still
current) and the removal of remote port (which triggers the expire
function because we want to be notified when a neighbor disappear this
way).
lldpd: small optimization in the expiration process

Don't check if we have to expire a port if we will remove it anyway.
lldpd: fix a segfault when a port disappear

Due to previous recent change, a NULL function could be called when a
port disappear. Fix that.
systemd: ship lldpd.service file if possible
lib: fix notification by reading one byte at a time from Unix socket

Internally, several bytes will be read at once and the notification
should be detected earlier. This fixes a regression introduced in
5aeda65433fd41b7bb67f908d8c4741f045ce508 because we relied on datagram
boundary semantics. This was not important when pulling information
but we still used this semantic when pushing information. Closes: #43.