Fix grammar issues with relationship chaining.

It was not possible to chain relationships due to error in
grammar.
Make all intergration tests (except error tests) green.

There were issues with not correctly passing parsing of ruby
DSL manifests off to classic parser.
There were logic missing for relationship expressions (and tests
missing).
Some transformations to nop did not work in practice and nops had
to be removed from list of expressions in a BlockExpression.
Add additional patterns (to be used in validation).
Change QueryExpression to being an Expression instead of UnaryExpression

This because an UnaryExpression has a required expression, and
a QueryExpression may have nil (i.e. query all). This issue was
deteced when writing validation and checking multiplicity.
Add LabelProvider and ModelLabelProvider.

These are used to translate from model class names to something
readable by a human in error messages.
Modify Model Factory to handle QueryExpression not being Unary.

The factory failed to build query expressions as a consequence of
the refactored superclass of QueryExpression (it was built as
an unary expression earlier).
(maint) Remove cruft from AstTransformer

Dead comments removed.
Update Patterns with patterns used in validation.
Add first working implementation of Validation to egrammar impl.

This adds validation to the parsing pipeline.
The ParserFactory obtains a Validator configured by a
ValidatorFactory. The ValidatorFactory assembles the various parts
required to check each element, issue diagnostics, handle configuration
of which issues to process, and produce suitable error messages
given context specific information. 

The construct is more elaborate than needed for the usecase of "validate
the parsed result for the current version". This because there are
several downstream use-cases (run in "lint mode" where output of mroe
than one error is wanted, both errors and warnings should be output,
parseable output is wanted for integration with other tools, etc.)

Some refactoring is needed as the current configuration is
somewhat more complicated than actually required.

Unit and Integration tests now run green. There are still issues
with some tests when running them in isolation.