Bugfix/async requester test timings

mhhh this pull contains a bit too much, since I based from the wrong commit :-/

Regarding the commit: I tried to make the test case for async http requester more resilient. Testing asynchronous stuff is really difficult; in my eyes the only way to do it reliably is mocking the executor service, injecting it into the class (I don't want to have this as part of the public api actually) and then checking that submit is called.
As this seems more error prone than the actual implementation (we would also have to consider thread-safety of the mocking framework), I chose a different approach.

However I implemented a soft shutdown of the async requester, so the test will finish as soon as all jobs are done. The test now has a hard timeout of 1 second, after which it will fail.
So it should still run fast, it tests the issue and it will detect if there is a problem.