to prevent defer-after-exit, rework the way run() is done:
* make run return an error
* return nil if all went well
* return err if something went south
special-case ErrNoAlgoSelected in main().
adjust run_test.go to these new realities, also.
* an incomplete fix was attempted in 071cb75 but that did not prevent
jDE from running with tests (as it does by default)
* bring func-local vars to pkg level to be able to manipulate them
programatically (such as from tests)
* prevent jDE from running by setting -jde=false
* reword log message in test