Clean up unit tests

Remove #; comments because they break paredit. Enable some
commented tests that should pass.
fix srcloc-missing-from-exn bug in struct/dc
fix call-with-transaction error (disconnected rollback)

Also, clarify in docs that break causes disconnect.
Synch German string constants with latest.
Fix racket/draw doc typo
Fix parsing of (Struct ...) types.

This was a regression that appeared in 5.3.1
Adjusted check syntax to properly deal with different identifiers
that have overlapping ranges in the editor; also got rid of the
id-set stuff

Getting rid of the id-set information that was computed means that now
the mouse-over green bubbles, the "jump to next binding occurrence"/
"jump to bound occurrence" keybindings/menu items, and the renaming
are all being computed from the arrows information as needed, instead
of building up sets as check syntax collects information. This may
change the way Check Syntax behaves in some cases; so far the only
example I've found has been strange and are arguably for the
better. Specifically, this program

  (define-syntax-rule (m x) (λ (x) x)) (m z)

no longer draws a green bubble when you mouse over the "z", since
there are no arrows (the only arrow that might have been drawn is
discarded since its start and end points are the same place).

This speeds up the "analyze the expanded code" phase of check syntax,
making it approximately 1.6x faster than before (going from about 31
seconds to about 19 seconds for this phase for the
drracket/private/unit.rkt file (on my machine)). Also, the replay
phase is probably a bit faster now, tho, too: there were 1.07x fewer
elements to process in the trace that comes back from online check
syntax now for that same file (33063 to 30842)

Note that this is only that one phase: this doesn't count the time to
actually expand the program (the dark blue bubble phase) nor the time
to send the results between places, nor the time to replay the
collected information (the light purple bubble phase).
should have been part of 299063d
automate some overlapping identifier tests
dont draw the lime green bubbles for imported identifiers

One problem with commit 299063d7c154428d000eb436aae4320b5781b15b
is that the new method for computing the lime green arrows no
longer has the information necessary to distinguish different
identifiers that come from the same require.

This means that, before this commit, mousing over an imported
identifier can be a real interactivity killer. So, instead of
adding more information to distinguish those ids, lets just
try not draw the lime green bubbles for imported identifiers
and see how that feels
Fixing error in GC1 found by Mark Engelberg, but fixed in GC2
Cut off type printing with :type at one level

Makes types print nicer with :type in most cases.
Previously, the printer expanded type aliases as much
as possible. Now, it defaults to a single level of expansion.
A later commit adds a #:verbose option to show the entire
type.
Add a #:verbose option to :type.

This prints the old way, expanding all aliases inside the type.
fixups for `pict' and `slideshow' docs
minor doc fixes
fix problem in `free-identifier=?'

Renamings created by a rename-transformer binding were not treated
correctly by `free-identifier=?'.

Closes PR 12623
Fixing PR13748
Redex enum supports var-except.

Also reduces code duplication in Redex enum.
Redex enum maintains bijection internally

Also simplified other redex enumeration internals.
Added holes to redex enumerator.