Fix synchronization issues with ConcurrentStructuresTest.

Fixes periodic travis failures by removing sleeps and using synchonization structures to test synchronous- and asynchrounous functions.

The basic change is to use a latch to force the asynchronous portions from finishing. Keep in mind they return instantly. So the chain will be finished, even though not all the async work will be. However, do verify that the synchrounous work is completed.

A nice side effect here is that the `Thread.sleeps()` were removed. Wooooo!
fixed in 17eedf1f39e3560f5e95a1195a0db4c250859097