Deal with commas.

The DEX interpreter uses comma delimited fields and requires that
commas in messages be escaped. Here I had to do a bunch of work so that
the compiler and DexLint will deal with them correctly.
A minor change just to see how things work.