Testing shell app

Create a test app that exposes a shell.  This may be useful for tests that need to perform a sequence of manipulations to a single ongoing job/container.

Along the way, add support for specifying a complete Job configuration to pkg/exec.
If you're worried about the race here, `net.Listen`, `discoverd.Register`, then call `http.Serve`