pkg/exec: Allow host.Job configuration to exec.

If using the host.Job route, the caller may supply container configuration such as port requisitions.

The previously available fields on exec.Cmd remain available for holistic compatibility with the standard library's os.exec, but will be disregarded iff supplying the host.Job configuration directly.

Signed-off-by: Eric Myhre <eric@flynn.io>
test: Add test shell app.

This test application persists after launch and listens for commands on a socket; this enables a series of manipulations on a single container.

This should be useful for tests that need to perform an action in a container, then manipulate the broader flynn system, then verify the impacts from inside the container.

Signed-off-by: Eric Myhre <eric@flynn.io>