RESOLV_CACHE: Correct construction of ip_str_all

The construction of ip_str_all in the cache entries was incorrect,
repeating the first entry twice and failing to pass the correct family
in for subsequent entries.  This fixes both of these issues.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
SOURCE: Cycle through addresses for a source

Since getaddrinfo() can return multiple addresses for a given name, this patch
allows a source to cycle through all of them should it get connection refused
errors.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
SOURCE_INTERPRETER: Reset address cycle on spawn

If a source interpreter has to be spawned then reset the address cycle on the
source object so that it has a chance to try all possible addresses once more.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Merge pull request #1043 from kinnison/kinnison/fix_879

Thanks a million to first time committer @kinnison to send in this pull request!
It is clear it is a fix for #630 #796 #885 #879 and might solve other tickets as well.