cleanup
After adding ListenableFuture support, we can't have weakValues anymore

This was causing Java to GC the futures before the guava listener got
fired in certain cases
Update the readme a little