better timeout handling waiting for primary to be active for indexing
take into account the correct delta timeout when scheduling it, since now we can retry again after removing a listener
Fixed concurrency issue in simple id cache. The lget() of a map can only be used if the map isn't shared.
Fixed delete mapping to return acknowledged false when ack times out
Fixed ack behaviour when no ack is expected from any node or timeout is set to 0

We now return acknowledged true when no wait is needed (mustAck always returns false), without starting the timeout thread etc. Previously it would try to timeout and hang due to a CountDown#fastForward call when the internal counter is set to 0

We now return acknowledged false without starting the timeout thread when the timeout is set 0, as starting the wait and immediately stopping the thread seems pointless.

Added coverage for ack in ClusterServiceTests and added case with timeout 0 to AckTests, which allowed to find a bug in delete mapping (fixed now!)