Tweaking clojure keyword lexing
Adds `end` to the list of keywords again.

At the same time change the order of includes so that
keywords are only parsed after "classes" and "functions".
RTF Formatter: tests added
RTF Formatter: pure unicode escaped output.
RTF Formatter: removed unnecessary floor function.
RTF Formatter: switch format character %i to %d.
RTF Formatter: fixed typo in test.
RTF Formatter: inlined surrogate pair calculation.
RTF Formatter: added documentation about new output.
RTF Formatter: removed unnecessary newline
RTF Formatter: consolidated output functions.
Merged birkenfeld/pygments-main into default
Add ability to specify default state transition

Certain lexers are forced to match an extra empty token if they want to make a state transition. By adding the ability to specfiy a default state transition to take, we can avoid creating extra tokens
Use default state transition to eliminate unecessary empty tokens
Allow default state transitions to allow for state strings as well as tuples
new/cryptol: Initial support
Mostly based off Haskell, however with some tweaks to get reasonable
support going.

Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Cryptol lexer author
Cryptol lexer fix typo
fixups as per comments
Merged birkenfeld/pygments-main into default