Microdescriptor policy comparison handles "unspec" incorrectly

If you start a microdesc client and wait a while, you'll start to see lots of "No exits can handle address [scrubbed]" messages.

This happens because the uint32_t value 0 is used in address policy comparison code to mean both the address 0.0.0.0 and "no address known". 0.0.0.0 is blocked by everybody, so compare_tor_addr_to_short_policy() says "reject" for everybody.

I'm not currently quite sure why it take so long for this to trigger.