Add missing pipelining unit tests to CMakeLists.txt
Parallel worker state transition checking.

Instead of `set_state` to transition from any state to a given state, we
now use `transition_state` which takes the preconditioned state and
checks that the worker is indeed in that state before transitioning to
the next state.
Add ut-pipelining parallel_multiple test.

This demonstrates the bug described in issue #49.
Introduce parallel worker Partial_Output state.

Now, in a worker, when not all the input has been processed, but the
output buffer is full, this is signalled to the main thread with the
PROCESSING -> PARTIAL_OUTPUT transition. The main thread knows to
consume the output buffer and send the worker back into the PROCESSING
state.
Merge branch 'issue_49'. Fixes #49.