Correct and add test for parsing of class and define.

Also adds test for file level statments (an expression or a block
if > 1 "statement").
Added test "parse_containers" is for class, define, file scope, and
node. (node parsing tbd).
Add tests for parsing node statements.

This also corrects errors in the parser regarding return type of
hostnames in NAME format.

Note that lexer now does not produce a REGEXP after INHERITS as it used
to in earlier versions. (3.1 flags inherits with regexp as syntax error
even if it is allowed in the grammar).