ExpressionList is currently used before it is introduced - bad.
List is infrastructure rather than a particular entity, so introduce it
with the other infrastructure, and then introduce ExpressionList where
Expression and Term are first mentioned.
Also move the printing of a List - which is only used for the "print"
statement - into the code for "print".
Signed-off-by: NeilBrown <neil@brown.name>