[connman] Check whether dnsproxy cache cleanup needs to be scheduled

If server_create_socket() fails for some reason, the cache hash table
is not created. In this case destroy_server() should not schedule a
timeout for deallocating the cache; if it does, cache_refcount may
become negative and an attempt to create the cache later on will not
work, leading to a null pointer crash.