Added ability to clear the result on the SettableListenableFuture
Also added implementation "ClearOnGetSettableListenableFuture" which automatically calls this clear function after a result has been returned (or an ExecutionException thrown).
I also cleaned up the javadocs around the Future param's, making the language better and more consistent.