Clang static analyzer found another impossible bug.

Imagine there wasn't a lease for the MAC, but there was a static host entry
with a lease linked to it.  Leases go to the MAC tree first in lease_new(),
then optionally get linked to their hosts.  lease_free() removes them from
the tree and unlinks them from their host only if the host had been there.

If it did, this case wouldn't happen (the pointer would be set to NULL).
If it didn't have the host there, it was a dynamic lease and these don't
ever have hosts pointing AT them, not even ones added later (because you
can't do lease searches keyed by IP address to fill the host pointer in).

Because of this decoupling (once a lease is dynamic, it stays dynamic; if
it was static and the host was deleted, its group stayed to preserve user
settings but that lease behaves like dynamic from now on) it is impossible
to have "l == NULL" and therefore pointless to have this check.

What could theoretically happen now is the leak of the previous h->lease,
which 1) isn't a NULL dereference crash, and 2) shouldn't be possible as
proven above.  Note that IT IS currently possible to have two different
leases to the same IP address, if the admin replaced the host entry with
another one, or set a range over it.  Such a client would currently send
DHCPDECLINE, waited until the older lease went and then got its network.

We can't break promises made to older clients and we shouldn't postpone
the host_add any further because when someone has configured it, chances
are she will want to use it right away.  Not allowing the configuration
imsg just because there's some leftover doesn't seem wise (Like 4xx SMTP
errors: how long did it take the world to handle them?) especially when
that leftover would be valid for another day and that admin wouldn't be
able to reload her config for the time.  Address-liveness awareness like
ICMP or ARP snooping could bring some light to whom can we actually talk
to with new entries, but that doesn't necessarily work (Relays?  Windoze
and their "Unknown network 8" deny-all security?  Temporary outages that
cause missing pings "just when you need it" over the wifi?).  Or, we can
add another IPv4-keyed RB tree over leases and then NAK the newly added
host entries with a message "There can be only ONE." which noone reads,
because it doesn't show up.  Really?  NAKing stuff you just configured?

The final option is the fancy DHCPFORCERENEW message from RFC 3203.  Yeah.

Signed-off-by: Martin Pelikan <pelikan@storkhole.cz>