bring down below 102 lines
Change the semantics for _!_ variables when they are under ellipses

In particular, make the semantics less insane. There is now a
much simpler description of how these two interact (see docs)

Altho this is a backwards incompatible change, it seems relatively
unlikely to affect anyone negatively and it makes the R6RS semantics
better and makes it possible to think about enumerating expressions
from that grammar
fix bug in recent _!_ semantics change
remove unique? side-conditions from the r6rs language due to the _!_ semantics change
remove the "variable not a prefix" side-condition from the r6rs model
repair JIT bug

The bug incorrectly tracks the value that is available in virtual
register R0 --- only in the case that some value was known to be ready
in R0, and some other value was known to be ready in R1, and a value
is moved from R1 to R0.

Closes PR 14523
Added openssl, openssl/sha1, and openssl/md5.

Also, listed new libs in TR scribble docs.
Lifted types & main openssl lib to separate files.

Noticed that typed wrappers for some other libs (e.g., db) would use
the types but not necessarily the functions, so it seems logical to
separate the types.

Also, after I built Racket on my Mac, it failed to find
openssl/main.rkt named as it was — signaled an error that indicated it
was looking in <my git repo>/pkgs/htdp-pkgs/htdp-lib/typed/openssl.rkt
— so I lifted openssl/main.rkt out to openssl.rkt
Re-exported types from openssl.
racket/unit: fix signature handling of `define-values/invoke-unit/infer`

Closes PR 14453
Make promote-demote no longer a unit.
Add tests for promote/demote.

Also fix promotion/demotion in hashtables and kw arguments.
Merge var-promote and var-demote.
Make initial version of structural type recursion, and use it.
Add performance hint to var-promote.
Remove top-arr.
Inline some local variables in cgen/seq.
Simplify the  * <: ... and ... <: * cases in cgen/seq.

This allows move-vars+rest-to-dmap to be saner, and thus clean up mover.
Make ... <: * case more correct.
Fix contract breakage in TR.