Introduce PreCreateDcGeneralEvent.

This event is fired just before an DcGeneral is instantiated with the
data container name.
It can be used to register event listeners to certain data definitions
and environments only if neccessary.
Ensure that the DCA holds an array of fields to silence warnings.
Fix typo in FilterBuilder which inverted the logic.
Fix parent child and remote condition handling in FilterBuilder classes.
Fix remote handling in ParentChildCondition.
Fix several bugs in handling of parent-child relationships.
Add test cases for parent child relationships.