StepNode localized keyword

Introduce localized keywords as step keyword in provided language and type as one of ``Given``, ``When``, ``Then``.
Also it's base for fix issues #55, Behat/Behat#277, Behat/Behat#317 in Behat (see Behat/Behat#506).
Fixes: #23

1. ``type``changed to ``keyword`` which holds step keyword in provided language (read from step row, as it was before)
2.  Added ``keywordType`` - holds one of values: ``Given``, ``When``, ``Then``, etc.
3. Not Implemented: keyword types ``And``, ``But`` are normalized to ``Given``, ``When``, ``Then``. Rule: Get type from previous step if exists, else set to Given.

Troubles:
Tests for languages ``en-old``, ``uz`` don't pass, cause in cucumber/gherkin definition they have repeated keywords:
- ``en-old`` has words [``Tha, Ða, Þa``](https://github.com/cucumber/gherkin/blob/7a0cea85074166614cf2c3afe6fb2010e9449bd7/lib/gherkin/i18n.json#L193) as keyword for ``when`` and ``then``,
- ``uz`` has word [``Агар``](https://github.com/cucumber/gherkin/blob/7a0cea85074166614cf2c3afe6fb2010e9449bd7/lib/gherkin/i18n.json#L808) as keyword for ``given`` and ``when``.
I don't have any idea how to solve it, maybe you could help with that.

TODO:
- [x] Fix tests for languages: ``en-old``, ``uz``