from com.google.common.util.concurrent.Monitor.Guard#isSatisfied() javadoc: "Implementations of this method must depend only on state protected by the associated monitor, and must not modify that state."

details: https://code.google.com/p/guava-libraries/source/detail?r=5b5b107c851a3f8c80c62ac53a458ed1d60af9e2&path=/guava/src/com/google/common/util/concurrent/Monitor.java
use JDK8 String#join()
update imports to accommodate lucene 4.8.x
remove deprecated classes
spacing fix
fix timing
update dependencies versions
suppress warnings for unused methods