spindle/{config,engine}: configure a timeout for steps
WaitStep and TailStep now run in goroutines, and are tracked with a
stepCtx which has a timeout attached. Once stepCtx expires, the step is
killed with DestroyStep.
The default timeout is set to 5m, and is configureable using
SPINDLE_PIPELINES_STEP_TIMEOUT.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>