Changed second-stage script methodology --

The second stage scripts now just define an sc_start function with a fixed
prototype.  The first-stage script should source the second-stage script and
call the function with the appropriate parameters.  This makes the second-stage
script much more testable.
Stage 1 uses new stage 2, and nicer solicit --

The first-stage start-up script uses the new second-stage start-up scripts.  It
is a little messy still, but at least it is consistent, builds and runs.

I also changed the solicit choice function a little - it waits for input on the
same line as the request rather than after a newline - and changed the unite
test accordingly.  It is a small change, but it makes a big difference to the
clarity of the user session.