JAVA-1332 with minimal Async changes.

I removed the larger async changes from #19 as it seemed to get in the way of the review and the updating of async/rx is best done once the apis are solidified.
I removed the equality for the collection and refactored the test the relied on it. As Executors are an interface it would have to had been the same instance.