Introduce TranslatedDefinition and DefinitionTranslator objects

This will help us to decouple definitions translation routine from the
rest of the system.
Refactor RepositorySearchEngine to depend upon DefinitionTranslator instead of Translator

Fixes #580
Refactor definition printers to use DefinitionTranslator instead of Translator
Rewire definition services to use DefinitionTranslator

Closes #580
Extract definition arguments resolution into the Testwork ArgumentResolver component
Refactor ContextFactory to use Testwork ArgumentResolver for arguments resolution
Refactor RepositorySearchEngine
Update the description of UnknownParameterValueException
Merge pull request #593 from Behat/bugfix/580

Bugfix for #580 and argument resolution refactoring
Bump changelog
Test against both Symfony 2.3 and 2.4
Add more definition argument examples
Implement Testwork\ArgumentOrganiser responsible for organising arguments
Drop FunctionArgumentResolver in favour of new ArgumentOrganiser package
Refactor Definition and Context to use ArgumentOrganiser
Update and simplify Scrutinizer config
Change back php_sim to php_cpd
Merge pull request #597 from Behat/optimization/scrutinizer-config-update

Update and simplify Scrutinizer config
Merge pull request #596 from Behat/bugfix/refactor-argument-resolver

Refactor argument resolver
Bump changelog