While looking at issue #39, it was found that shutdownNow also did not folow java.util.concurrent.ExecutorService definition.
This commit fixes the shutdownNow case, but does nothing for the shutdown() case yet.
Reduced code duplication by using the RunnableFuture inside the PriorityScheduledExecutorServiceWrapper
RunnableFuture is an implementation of java.util.concurrent.RunnableFuture
Pull this inner class out to a top level class file that is a bit more generic.  Right now it is only used here, but we may want to expand that.
Spacing change and renamed this file...not sure if I want this to be an implementation or an interface yet
Cleaned up interfaces and implementations with futures.  I also renamed RunnableFuture to RunnableFutureImp (for the time being) to avoid the confusing from java.util.concurrent.RunnableFuture
Simplified the Future implementation by not storing both the runnable and a callable, but instead converting the runnable into a callable.
Renamed these classes...I hate using "Imp" at the end of class names
Fix for checkstyle warnings after class renames and other changes
Changed ListenableFutureTask to be a leaner more efficent version to function when we know there is no possibility of handling VirtualRunnables or VirtualCallables.  Then added ListenableFutureVirtualTask (which is the same old implementation of ListenableFutureTask) to handle cases when it is possible to be dealing with a VirtualRunnable or VirtualCallable.  There may be more performance to be improved in the future, but this is a minor first step.
Fix for unit test failures with recurring tasks
Added a javadoc to fix checkstyle warning
One more javadoc I missed
Fix for small error in implementation for Future isDone() interface when handling canceled items
Removed the constructor where you don't provide a VirtualLock...since those cases should be using the ListenableFutureTask instead
Merge branch 'master' into experimental-more_concurrent_scheduler