RoundRobinFilter read-write lock recheck.

According to `ReentrantReadWriteLock.java` javadoc, we should
```java
Recheck state because another thread might have
acquired write lock and changed state before we did.
```
In our case if `usageCount == null`, than `usageCounts` map doesn't contain this key. But during 
```java
readLock.unlock();
writeLock.lock();
``` 
another thread can modify `usageCounts` map.
Seems like we need a recheck.
Merge pull request #151 from WonderBeat/patch-1

RoundRobinFilter read-write lock recheck.