lib/fanout: Protect against destructors calling fanout_remove()

If a destructor called by fanout_destroy() in turn calls
fanout_remove() to remove the entry currently being destroyed, we
would previously crash out on a double-free() of the entry we
were destroying.

That's bad. This patch prevents that, letting users shoot themselves
in the foot as much as they like. It does make it impossible for a
destructor to locate information in the table though, but since we
can't switch to a readonly state anyway, we simply ignore that.

Signed-off-by: Andreas Ericsson <ae@op5.se>

git-svn-id: https://nagios.svn.sourceforge.net/svnroot/nagios/nagioscore/trunk@2740 5f96b256-904b-4d8d-8c98-d829582c6739