Kind of made the async scanner race condition safe

If one of the async tasks would take too long we would simply miss the data.
Now we simply wait for all the futures in a kind of ugly fashion, apparently
there will be a neater way to do this with C++14.. So see you in 3 years? ;)

Signed-off-by: Toon Schoenmakers <nighteyes1993@gmail.com>