[FEATURE] Add IDs to syntax tree nodes

Numeric ids for each node of the syntax tree. Can be used e.g. to
reference nodes in truth tables.
[FEATURE] Iterate over all nodes in tree

The syntax tree iterator only supported statements (in the 'stmts'
property) until now. This commit adds support for more properties
(depending on the exact node type); see the array
"subnodeInclusionOrder" for more information.