Worker wrapper package

This change defines the package that will be used by the worker wrapper
program. It implements the interface defines in the standalone interface
spec for the wrapper process.

It tests the library with a bunch of simple scripts that exercise each
of the components of the interface.

This relies on a couple mock changes in another PR which is why
the tests are failing.
Do we have pipelines right now where not streaming would be a bottleneck? If not, this is something we could easily change in the future if / when we need to.