String matcher

Added a String Matcher for business needs: match a businesas with queries that possibly refer to its name.
@ldacosta i would parameterize ``Matcher`` as follows
```scala
trait Matcher[T: Stringable, repr[_]] { // here Stringable trait ensures a toString method. this can easily be avoided
  def stopWords: Set[repr[T]]
  def isCloseEnough: repr[T] => repr[T] => repr[Boolean]
}
```
doing things this way allows us to have an interpretation for pretty printing/debugging and another for regular evaluation and another for possibly different context all by controlling ``repr``. also, note that ``repr[Boolean]`` can be ``Boolean`` but could just as easily be ``String`` (for simply debugging/trace) or anything else