Use "input" as the state machine abstraction

Previously, the model was that a "goal" would be prescribed for the
state machine in an effort to spare some more entities in the data
model, but in the end that wound up feeling strange and obscure to deal
with certain impulses to the system (e.g. restarting).

Instead, split the "input" and "state" domains (See DynoInput) and
remove the now unnecessary "NonState" entity to get hysteresis of old
inputs.

Also, epsilon moves are now handled with "goto again" rather than
triggering a tick via Goroutine.  The former was useful to put stress on
the concurrency model, but overwrought to the purpose.
Get rid of debuggy logging
Add oneshot process support, partially

This avoids the state machine from triggering restarts when OneShot is
set, but what remains is changing the contents of main.go to exit
promptly when the "run" is complete, to return exit codes, to not poll
for releases, and so on.