[FEATURE] Add AbstractCondition for TS conditions

In order to streamline conditions and make
TypoScript conditions more flexible, an abstract class
AbstractCondition is introduced. Any class can extend
this abstract class, and TypoScript seamlessly calls
the class's main function that can completely flexibly
deal with the value that is set after the class.

possible conditions are:

[ACME\TypoScriptLovePackage\BennisCondition]

[ACME\TypoScriptLovePackage\BennisCondition = 7]

[ACME\TypoScriptLovePackage\BennisCondition = 7, != 6]

where the TypoScript Condition can deal with =/!= etc
by itself.

Additionally, this change fixes one bug, where the
AbstractConditionMatcher would check on a condition name
and would not match, then there is an additional
run through the subclass although not needed.

Releases: master
Resolves: #61489
Change-Id: I891edd367bb29b042cbbf6aa368cbf173dc3815d
Reviewed-on: http://review.typo3.org/32695
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>