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.
I think having an assertions library is a good idea, but we should make sure that we use the same testing / assertions approach in all our Go code to avoid the mental overhead @rgarcia is talking about.