Move entrypoint logic to own script, add unique spoke run dir.

Entrypoint logic got to be too much for the Dockerfile, so moved it to
it's own script. Uses a different strategy too to launch supervisor.

This script will:
-checks for `$SPOKE_NAME`
-handle first-run/restart logic
-launche spoke program group by default (not just single program) using
a sleep and forking method
-tails app error to supervisord for quick testing/debugging
-exec supervisor for signal passing

I also created an alternate spoke-specific run directory in
/var/local/run for sockets that don't need to be shared amongst the hub.
This is because /var/run is now shared by default via the hub so that
all programs that create sockets can easily communicate amongst
themselves via those sockets in the standard location.