Working token description lines

Negative lookahead allows negated character groups. Should go some way
to addressing https://github.com/cucumber/gherkin3/issues/4
Handle different ordering of patterns

Turns out that putting the negative lookahead before the step pattern caused the tests to fail, but they pass otherwise. Perhaps the JS lexer is in fact putting them in priority order?
More legible gherkin
Alphabetic translations require a space after GWT keywords (symbolic ones like Chinese do not).