Relax the matching of step definitions a bit

This change does two things: It relaxes the matching in Step to do a
'contains'-like comparison. Using find() instead of matches avoids
anchoring the pattern and thus allows the pattern to be only part of the
line from the feature file. This means that the pattern can match the line
even if the language for the keywords is not english, hence solving the
internationalization issue. It seems that bdd frameworks do not anchor the
regular expressions in step definitions by default either, so this is closer
to what the frameworks do for matching during the execution.

The other change is including the keyword from the feature file when doing
the matching. This is intended to support frameworks where the user is
allowed or encouraged to include the keyword also in the step definition
patterns. For example frameworks that do not have dedicated Given/When/...
annotations but just a generic step annotation.

fixes #60