core: check that callback is not NULL in function string_replace_with_callback
core: callback_free_key shouldn't point to already free'd value
doc: add example with "callback_free_key" in function hashtable_set_pointer (plugin API reference)
xfer: Use hook_connect() for receiving chats

fixes #160