Make 'output' statement behave more like Python 'print'.

* da/compiler/dast.py(OutputStmt.separator): new field, optional keyword
  argument 'sep' for DistProcess.output().

* da/compiler/parser.py:

  -(KW_LEVEL, KW_SEP): new keywords.

  -(Parser.expr_check): allow unbounded min/max number of arguments.

  -(Parser.visit_Expr): allow variable number of arguments to 'output';
   allow optional keywords KW_LEVEL and KW_SEP.

* da/compiler/pygen.py:

  -(PythonGenerator.visit_OutputStmt): adjust for AST change:
   node.message is now a list; optional keywords "level" and "sep".

* da/sim.py(DistProcess.output): mimic 'print' behavior.
examples: use tuple instead of list in second argument to setup().

Fix for consistency with language spec.

* examples/lamutex/orig.da, examples/lapaxos/sped.da,
  examples/pingpong/ping.da, examples/ramutex/orig.da: use tuple instead
  of list in second argument to setup().
examples/lamutex: fix use of legacy syntax.