Extracted rake task 'test' and renamed the old task to test:watch.
Changed pipeline element default behaviour to simply pass data through when processing instead of returning None (which results in an error by default).
Extracted test utils and base class for async test from actor tests
Added Dispatcher pipeline element
Processing messages in parallel. There's an asyncio task for every received message.
Improved imports
Added pattern parameter to test rake tasks to specify which tests should be run
Using named parameter in remote:copy rake task
Progress update in TODO.txt
Pipeline Dispatcher yields from a coroutine, if the target is one
Added Logger to test utils.
Made message_type a mandatory parameter for TypeFilter
Dispatcher can dispatch to regular methods and coroutines
Made Pipeline.set_up() and tear_down() a coroutine. The TMP implementations _set_up() and _tear_down() are optional coroutines. This allows more flexibility if these methods need to perform async operations.
Extracted timely parrallel processing of message from server into pipeline element Parallelizer
Implemented Pattern loading and playback foundation - actual message generation from patterns still missing.
Fixed Parallelizer which didn't log exceptions of worker tasks.
Fixed Server which didn't call tear_down() on the handlers anymore, because client_disconnected() just returned a generator (coroutine object).
Patterns handler really emits messages