Allow macros in `entity` statements.

As yet macros were only allowed in the `rules` statement. This limited
their usefulness rather strongly. By allowing macros in `entity`
statements many of the limitations are removed.

It is currently not possible to also allow calls to macros in  other
collector statements, because the may only contain literal rules
and no entities. However, as a macro can contain either a literal rules
or entities they cannot be allowed in collectors. This would either
require a check if the content of the macro is allowed at the current
position or two types of macros have to be introduced one for
entity rules and one for literal rules.

In order to prevent the inadvertent introduction of inconsistencies by
later changes of the schema, the `entity-rule` group was removed and
replaced by direct references to the `entity` element.