JIT: enable unboxing in branches of `if` and end of `begin`

When both branches of an `if` form can produce unboxed results, then
allow the unboxed result. Similarly, allow a `begin` form's last
expression to be unboxed.
Refine type for angle
Change float optimizations to not warn on projections.
Add more optimizations for projections.
Support ValuesDots in a typechecking a funapp

Closes PR 13651
Updated STLC diffs (auto-generated)
Add arg validation to redex benchmark script
add enum to list-machine benchmarks
Add enum to delim-cont bench
Add enum to poly-stlc bench
Add enum to stlc-sub, rbtrees benchmarks
Use new random natural function for enum benchmarks
Fix bad diff
Make path manipulation in contract-profile more robust.
Better layout for module view.
adjust enumeration-based generator to make terms that are less
likely to consume all available memory
Fix infinite loop in List: expander in subtyping

The match expander calls `resolve` during subtyping, which
is a problem for types that recur through the environment like
Struct types because it doesn't coordinate with the cache
for subtyping.

Closes PR 14364
drop (indirect) dependency on racket/gui/base
fix package dependencies

broken by commit e77b5f43a75a013cc6a913b91ec651d095a6bbb8
Use the correct index for unsafe-Type-key

The unsafe operation didn't return the same result as
the safe operation, meaning any checks related to type keys
were giving the wrong result. As a result, some subtyping
clauses were not triggered.