symm/multigen: Some UI improvements.
Previously the usage message (and the code!) suggested that you could
run multigen without any options, and it'd default to generating
output. Well, that was true, only it wouldn't know which input file to
read and then it'd crash with the unusually unhelpful error
TypeError: coercing to Unicode: need string or buffer, NoneType found
Changes to fix this:
* There's no default mode any more. You have to give `-l' or `-g'.
The `-g' option now does double duty, setting the mode and storing
an input file name.
* Print the `no mode set' error in a more friendly way, now that we
actually expect to see it.
* Fix the usage message so that it's clear that `-g' takes an
argument, which it always used to anyway.
* Change the usage message so that it shows `-l' and `-g' as
alternatives from which you must select one, rather than just
optional things from which you might pick several.
Callers which worked before won't see any change. Interactive use is
now a bit less dreadful.