Adding compatibility with symfony/expression-language

Adding the ability to process string expressions using the
symfony/expression-language. It keeps backward compatibility to the
provided operators and with any new operator defined using the default
mechanism.

One upside down with this approach is that you can have a full object
inside the context and evaluate on its attributes using a symfony
expression.
If we can validate if the expression is valid, we should do that in the constructor.
Here I just meant if the expression results in a boolean. It could also result in a object of people do weird things. 
Maybe casting to boolean is already enough?