[WIP] 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
#### Important: BC Break for StepNode
1. Added ``keyword`` - which holds step keyword in provided language (read from step row)
2. ``type`` holds now one of values: ``Given``, ``When``, ``Then``
3. Step node 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 word [``Þ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:
- [ ] Fix tests for languages: ``en-old``, ``uz``