syntax error check fix

closes PR 13639
fix over-eager "optimization" of some unsafe-fx operations

As reported by Vincent.
Scheme -> Racket
added optional #:grammar clause to defform, etc
use defform #:grammar
added rename option to lazy-require
 closes PR 13624

also added examples
factor out create-ehpat code
fix show-dependencies handling of submodules
added test for sequence syntax with keywords
repairs for MinGW builds

The changes make extflonums work when compiling with SSE arithmetic
for `double's.
system-type: fix 'so-mode
source-location-known? should not rely on "span" field
fixed rate argument for run-movie, Closes PR13642
raco setup: fix doc dependency check for PLTCOMPILEDROOTS

A doc build depends on its source's ".zo" file, which might
not be next to the source due to a PLTCOMPILEDROOTS setting.

Closes PR 13640
racket/gui: double-check size on attmpt to set editor scroll

A scroll request could fail if a resize notification is still
in flight (i.e., queued but not yet executed), so double-check
the size on a scroll request.

Closes PR 13582
file/untar: handle unknown extensions by skipping

Also, add/improve logging.
file/untgz: allow extra bytes after tar content

Closes PR 13641
Closes PR 13644
ffi/com: repairs, including `mysterx' compatibility

Restore MysterX-style handling of parameterzied properties in
`com-get-property'.  It turns out that the original `com-get-property'
handles parameterized properties by allowing a list in place of a
property-name string, and that handling got lost in the re-write.

Fix the name of `com-get-active-from-from-coclass'.

Fix arity checking for optional arguments.

Closes PR 13603
Closes PR 13604
Changed normalize-arity to coalesce arity-at-least with adjacent numbers.

For instance, (normalize-arity (list 1 (arity-at-least 2))) now produces
(arity-at-least 1).  The implementation and the tests for normalize-arity both
reflect this change.  The randomized tests now also check that the output
represents the same arity as the input.
Re-provide normalize-arity from racket/function.