Introduce factories for default node nodes.

Using the factories it is possible to request say a default Expression
and get an EmptyExpression. Unless otherwise specified the default
factory just constructs a new instance. So far these three node types
call the default factory of other elements:

Expression -> EmptyExpression
Statement -> ExpressionStatement
StatementItem -> Statement
Simplify default element creation in lists.

Now all lists automatically are able to create new elements, by using
the element type's default instance factory.