ISPN-4651 LevelDB crashes JVM when stop() is called concurrently with write()

https://issues.jboss.org/browse/ISPN-4651
@wburns  Honestly I can hardly imagine the usecase where you'd want to call clear on living cache (accessed by clients). I quite like the drain strategy if we were to solve the problem (I mean, if it is really a problem).

First page of google results seems that fair synchronization has a lot of overhead. Given unfair synchronization, it doesn't matter much whether it is ReentrantLock (haven't found data about rwlock) or Semaphore.