more fixes to avoid warnings
documented :stxclass patterns
  closes PR 13565
change syntax-parse clause parsing code
add #:commit, fix other typos
basic pattern factoring for syntax-parse
do factoring for stxclasses (non-splicing only) too
unfold pat:and to uncover more factoring opportunities

Side clauses introduce pat:and, very common in stxclasses.
improve pattern factoring, misc cleanup
split out pattern optimization code
fix "one term at a time" mode for lifts
  closes PR 13597
reorganize code, expose stxclass rhs->parser helper
Removing even/odd reading hack and just protecting parser from eof-ing ports
add missing provides
add some random testing into the lexer option contract
scribble/manual: add a `#:key' argument to `deftech'
reference: improve docs on peeking
racket/gui: add `warp-pointer' to `window<%>'

Removed the method from `canvas<%>', where it was never implemented
with the `racket/gui' reimplementation.
pretty-format returns a String, not Void
Avoid stripping location information from syntax object in warning message.