Revert "TeXMath writer:  don't double up braces."

This reverts commit 89689e5b587a7ba7847b258901c60149c5238c17.
Removed cgi script; made texmath executable double as cgi script.

See man page for a description of how this works.
parseMacroDefinitions: skip whitespace/comments at start.
texmath:  Don't add <?xml..> header.
texmath:  Fixed url unencoding in cgi (handle + as space).
Updated texmath.(x)html for new cgi.
texmath:  Added 'native' reader.
test-texmath:  Print output as you go, not all at the end.
TeXMath writer: Improved inBraces so it doesn't double braces.
texmath:  Don't put \[..\] around tex.

This is a more useful mode for testing, because you can
feed the output of the tex writer into the tex reader.
Added newlines to end of tests/readers/tex/*.native.
tests/readers/tex/*.native:  removed EXTRA newlines

introduced by last change.
TeXMath writer:  only give space after \quad, \quadd.

The other space commands should not have spaces after.
TeXMath writer:  put braces around EGrouped, except at top level.

This is needed for e.g.

    \sin {x+2}
Don't put braces around single-token identifers.
TeXMath writer: Removed extra spaces after binary.
TeXMath writer:  remove brace before close } unless it's escaped.
TeXMath writer: Add space after operators.
TeXMath writer: Added TeX type and renderTeX
TeXMath writer:  Use new technique for generating valid latex.

We render [Exp] to a TeX, and render that to a String using
a right fold.  This allows us to insert spaces and braces when
needed, and not more often.

Many tests fail, but on inspection the results are usually better
than the old tests.  TODO: Systematically look at the failing tests
to make sure we haven't introduced any new problems.