core: add Port struct
worker: introduce workercontrol + newWorker
app,worker: refactor to use newWorker
app,worker: refactor to use taskrunner
io: first stab
io: first stab at a concrete InputStream
io: extend ioStreamer ifaces
io: introduce StreamControl. impl. InputStream wrapper component
test: implement a fwk.InputStreamer
app: ping input streams at beginning of run
test: properly test fwk.InputStream and fwk.InputStreamer
app: fix race on store in runSequential
app,io: impl OutputStream, proper control of I/O-streams
store: introduce ds.quit channel to handle mid-way aborted events
app: properly drain all workers. use store.close to notify we closed shop.
worker: use store.close to notify we closed shop.
msgstream: introduce and use WriteSyncer
test: properly test input and output streams