This pull request adds lexers for 4 languages popular in mainframe related environments:
Rexx is a scripting language available for a wide range of different platforms with its roots found on mainframe systems. It is popular for I/O- and data based tasks and can act as glue language to bind different applications together.
Job Control Language (JCL) is a scripting language used on mainframe platforms to instruct the system on how to run a batch job or start a subsystem. It is somewhat comparable to MS DOS batch and Unix shell scripts.
Easytrieve is a programming language for extracting, filtering and converting sequential data. Furthermore it can layout data for reports. It is mainly used on mainframe platforms and can access several of the mainframe's native file formats. It is somewhat comparable to awk.
(Web)FOCUS is a language for business intelligence applications. It enables to describe, query and modify data from various sources including mainframe platforms. It also includes FIDEL, a language to describe input forms.
I included example files to exercise each lexer. The standard test suite runs successfully.
I also had to improve MasonLexer.analyze_text(), which now checks for <& ... &> instead of just <&. This keeps it from thinking that (Web)FOCUS FIDEL forms are Mason scripts.
This will probably take at least another roundtrip before merging, as it's fairly big and I just picked out the obvious things. Also, WebFocusLexer is probably big/confusing enough to get its own pull request, but we can continue with this one if you'd like.
Let's move WebFocus to its own pull request, the rest can stay here together.
From what I remember, you shouldn't need anything special to skip a single char as an error and start over at root; I tried this with Python and it works that way. See echo 'x = `x' | pygmentize -l python (can you try this?)