added mising completion event if condition fails for putIfAbsent, replace, remove

fixes #4251 
Problem: if we use sync listener with putIfAbsent, replace and remove and if the condition fails like putIfAbsent to an existing entry, operation hangs.

Fix: while using sync listener, every operation waits for the appropriate event to come to the caller and executed. Since putIfAbsent, replace and remove are conditional, which means they may not trigger any event, we should send a 'completion' event.