Added MATCH_TYPED_VAR_IN_SET and MATCH_TYPED_ANONYMOUS_VAR_IN_SET
Changed type argument of testreport_add from type constant to reified
type

This also passes ADT and grammar definitions to the test framework and
allows, for instance, to generate random values for ADTs.
Fixed non-linear set patterns

In the rare cases where set patterns contain duplicate variables, they
are now handled properly.

- duplicate variable patterns are removed.
- all literal patterns are separated
- all other patterns are compiled in order
- if the last pattern is a multi-variable it is treated specially.

There is an unused optimization here: 
if the last multi-var in the pattern is followed by other patterns
AND these patterns do not refer to that variable, then the multi-var
can be moved to the end of the pattern.
Added missing newline to message
Added MATCH_LITERAL_IN_SET
Replace constant (sub)pattern by a single constant
Minor fix to the TypeReifier of the compiler; fix to the handling
unlabelled productions in the compiler.
Temporary work around to avoid problems related to issue #343.
Merge branch 'master' of https://github.com/cwi-swat/rascal
Another place where the work around related to issue #343 is needed.
Merge branches 'master' and 'muAnd-muOr' of https://github.com/cwi-swat/rascal into muAnd-muOr