script.py: list parameters in order

This makes 'omero script params' dump out the parameters sorted by
grouping, as they would be harvested from OMERO.web or OMERO.insight.
scripts.py: harvest missing inputs in order

This makes the behavior of 'omero script launch' (mostly) match that of
OMERO.web and OMERO.insight, which prompt the user for input values as
ordered by their grouping fields. While this change does not care about
nested groupings, it does harvest the inputs in sorted order.