2281087 - "text matches" condition

Hi, I have started working on [ticket 2281087](https://www.drupal.org/node/2281087). It's far from being complete and still needs some work, but there's already something to see and I'd love to get some early feedback, so here's the PR and a few questions that I have at the moment: 

* What to do with translations? There are some untranslated strings in the exceptions I throw around the code. Also: is there a proper/common wording for exception messages?
* How about a getErrors() method in the matchers? maybe it's safer than throwing exceptions?
* I am not sure what should I pass to RulesDataMatcherPluginManager's createInstance() method yet, any suggestion?
* Is there any recommendation for functional testing the whole TextMatches class?
* DataMatcherPluginManager should be constructor-injected in TextMatches class as it's a mandatory dependency: how do I do it?
* I would like to separate the DataMatcher classes from Rules and Drupal into their own repository so to reuse it: what do you think about it?

Of course anything else that comes to your mind would be helpful, too :)