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