Fix support for languages where characters are words

Cucumber uses a < on the end of a keyword to mean the keyword might not
be followed by a space. Use this to create a pyparsing Literal rather
than a Keyword.
Fix more tests per now-formalised language requirements

Nicely this makes them highlight corrrectly in Vim.

Disable more coloured tests.
A new version of assert_equals