Add async versions of extractAllTo

Also added a async version of writeFileToAsync. Yes its messy, but I had to stick with the no dependencies 'target' of the package!