build-sys: move async.[ch] to src/shared

So that we can use it at multiple places.
update TODO