rec: Fix cache handling of ECS queries with a source length of 0
The current behavior is to send a query without ECS information
and to cache it as a non ECS-specific entry. Unfortunately doing
so meant that we wouldn't send any further ECS-specific queries for
this (qname,qtype) since we could fallback to the non ECS-specific
cached answer.
This commit adds a new parameter, `ecs-scope-zero-addr`, allowing
to specify the address sent to ECS-whitelisted authoritative servers
in that case. If unset, the default is to take the first usable
(non-any) address in `query-local-address` then in `query-local-address6`,
and finally to use `127.0.0.1` as a last resort.