add allow_extra_fields option
[Form] Accept interfaces to be passed to "data_class"
[Form] Added test case for 4759e062ed004749dbdc2ba31aef0f8ac2601895
[PropertyAccess] Refactored PropertyAccessorTest
[PropertyAccess] Refactored PropertyAccessorCollectionTest
[PropertyAccess] Added isReadable() and isWritable()
[Form] ObjectChoiceList now compares choices by their value, if a value path is given
[PropertyAccess] Fixed CS and added missing documentation
Change in validator.email service alias to match the validator FQCN
bug #10581 [Validator][Email] - When standalone "Fatal error: Class 'validator.email' not found" (egulias)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[Validator][Email] - When standalone "Fatal error: Class 'validator.email' not found"

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/silexphp/Silex/issues/932
| License       | MIT
| Doc PR        | no

When using the validator as an standalone component a bug was introduced by overriding the `validatedBy()` method in the `Email` constraint.
This PR removes the override and implements a way for the DI to get the right validator.

Another way would be modifying the definition of validator to change the alias instead of having the FQCN in the xml

Commits
-------

e79b3a9 Change in validator.email service alias to match the validator FQCN
[PropertyAccess] Removed the argument $value from isWritable()

To keep isWritable() and setValue() consistent, the exception thrown when only
an adder was present, but no remover (or vice versa), was removed.
[Validator] Refactored ValidatorTest and ValidationVisitorTest into an abstract validator test class
[Validator] Prototype of the traverser implementation
[Validator] Decoupled the new classes a bit
[Validator] Moved visitors to NodeVisitor namespace
[Validator] Added ObjectInitializer visitor
[Validator] Extracted code for group sequence resolving into GroupSequenceResolver
[Validator] Throw exception if ObjectInitializer is constructed without visitors
[Validator] Renamed $params to $parameters
[Validator] Made tests green (yay!)