[Validator] Improved phpdoc of RecursiveValidator
[Validator] Simplified validateNodeForGroup
[Validator] Improved performance of *ContextualValidator::validate()
[Validator] Optimized RecursiveContextualValidator
[Validator] Merged DefaultGroupReplacingVisitor and ContextUpdateVisitor into NodeValidationVisitor
[Validator] Fixed reference to removed class in ValidatorBuilder
[Validator] Optimized use statements
[Validator] Optimized performance by calling spl_object_hash() only once per object
[Validator] Reduced number of method calls on the execution context
[Validator] Moved logic of replaceDefaultGroup() to validateNode()
[Validator] Improved performance of cache key generation
[Validator] Removed traverser implementation

The traverser is too slow compared to the current, recursive approach.
Testing showed a performance decrease of about 70% without a lot of
optimization potential.
[Validator] Removed unused property
[Validator] Improved inline documentation of RecursiveContextualValidator
[Validator] Fixed typos pointed out by @cordoval
[Validator] Adapted CHANGELOG
[FrameworkBundle] Implemented configuration to select the desired Validator API
[Validator] Added getObject() to ExecutionContextInterface
[Validator] Made "symfony/property-access" an optional dependency
[Validator] Fixed misnamed method calls in FrameworkExtension