async/await 

Initial evolution to async and await.
NOTE: it is far best than background workers but it requires some care especially on events and sequences.
Once code is merged with main trunk we can move to:
1) add the correct global cancel for awaited procedures AND the visual feedback for the ones that need it
 2) all file operations to be async and awaitable
 3) update ALL the scrapers to use the correct awaitable libraries (as wrote in previous posts) and get rid of C# code