Fix bug in find_primroot

Candidate might start at 0, which causes a mod by 0, which causes a
floating point exception, which causes crash.
Fix race condition in monitor

If recv closes the pcap handle to far in front of the monitor thread
closing, the monitor thread might crash if it is in the middle of a call
to recv_update
Always add 0.0.0.0 to a blacklist

This is now required, because 0 is used a flag value meaning "stop" in
shard_get_next_ip().