Make dj.Schema.makeClass and dj.new CLI-safe

A text-based alternative to listdlg is implemented as cliListDialog.
Calls to edit() are also skipped when the GUI system is unavailable