shortcircuit some of the code involved in  drawing the margin highlight
for online expansion errors

This avoids drawing the margin highlight when it isn't inside the
region being repainted and it avoids even figuring anything out about it
when there is currently no error range

NOT for the release branch
fix improper fraction display

closes PR 13558

please include in the release
fix test suite to match earlier fix to obligation info

merge to release branch, please
Better error message for non-existent generics groups.

Closes PR13671.
redex: bug fix for gerating terms including #f

please include in the release
fix a non-deterministic test
JIT for ARM

Includes switch from LGPL 2.1 to LGPL 3, since the ARM port
of GNU lightining is licensed under LGPL 3.
adjust pick-a-maze based on Neil's comments

please include in the release
add missing license file
Tests for UDP multicast primitives
fix `for/flvector', etc. unsafety

Closes PR 13675

Merge to v5.3.4
New Racket version 5.3.4.1.
Change doc/.gitignore to make git aware of files with non-generated contents.
Add missing responsible.
Fix old pointers to COPYING.txt that should go to COPYING_LESSER.txt.
Distribute all COPYING*.txt files.
remove the code duplication in opt/c

The code duplication was there only to support
constructing the name for the optimized contract;
instead we actually just built the name as we go
(the old version actually built the old contract
 and then used that to get the name)

also:
 - racket/contract/base now requires basic-opters.rkt
   so all of the opters are registered when racket/contract/base
   is loaded, not just the non-basic ones
 - fix the ordering of the names of subcontracts in or/c
 - make opt-contracts print a more meaningful name
add #:error-name argument to opt/c

this makes it easier to stick opt/c implicitly into
various other contract using forms
fix various compiler warnings

Resort to gcc annotations in some cases, but avoid disabling whole
classes of warnings.
doc clarification