cf-agent: avoid crash if libavahi-client hasn't loaded

When libavahi-client fails to load, `avahi_handle` remains NULL, so
we should not call dlclose() on it.
cf-agent: probe 64-bit libavahi-client before 32-bit one

On 64-bit systems, it is more likely that we need the 64 bit version
of the library.
cf-agent: better loading of libavahi-client, when first lib fails

Last algo would just depend on the existence of 'libavahi-client.so.3'
and assume the first file found would load.

But what happens when first one is wrong arch, or missing symbols?

We shall then repeat the dlopen() call for the other files, in case one
of them will succeed.