Move utility functions to common package
Use core.async at some places

- Two bugs discovered: only n-1 workers send pings and we do not close the sockets
Slightly less awful use of core.aync
Ignore emacs autosaves
Add a function for creating infinite streams