fixed stealth bug when action payload got freed
behind the scene. This behaviour is not always needed.
Now it is turned on only if destroy function is provided explicitly.
Even g_free.
Initial bug was that contact can not be removed as the procedure could not
find buddy in sip->buddies. Because hashtable keys were freed by destroy
function of scheduled action. Which in turn was scheduled with the key ref as payload.
It could be fixed by copying the key string, but pieces exist when payload is
entire session. It does not make sense to copy it, neither free it after.