countdownlatch trysetcount bug fix + unit test

according to javadoc, we can't set count if count is not zero.
but if we do latch.trySetCount(0) it updates count and returns false.
this souldn't happen.
You have not restored the 'if (count < 0) {' to 'if (count =< 0) {'. The problem now is that a CountDownLatch is not removed in your code when the count is 0.

Can you also add this in a unit test that verifies that the latch is removed from the latchservice when the count reaches zero?