fix author parsing for the case where a name ends with the letters 'and'
raco setup: reorganize command-line flags

Group flags and refine the descriptions and documentation.

Merge to v6.1
reference: clarify significance of order for submodules

Merge to v6.1
fix doc typo

Closes PR 14626

Merge to v6.1
compiler/zo-structs: document `undef-ok?` in `assign`

Closes PR 14622

Merge to v6.1
fix marshaling of #'(....  . ()) to bytecode
raco setup -c => disable everything else
optimizer: transform (if v x v) to (if v x #f)
optimizer: allow to move once_used to test position
optimizer: generalize moving expressions to single-value context

Gemeralize Gustavo's change so that immediately-used right-hand sides
can be moved into any position that (like the binding context) enforces
single-valuedness --- for arbitrary right-hand expressions.
Add documentation for data-procedure/c

(Style adjusted by Matthew.)
net/http-client: adjust `data-procedure/c` contract

Promise more (a `void?` result) and requies less (`any` instead of `any/c`).
avoid over-large buffer for tail calls

Applying to a large number of arguments once causes the run-time
system to maintain a too-large buffer for managing tail calls in
the future. Decay the buffer size as it is reallocated.
fix GC-cooperation bug in `vector->values`

The `vector->values` function set up multiple return values
badly in the case that the given vector is chaperoned.
The problem could lead to NULL as results for `vector->values`.

Merge to v6.1
optimizer: fix tail-position bug in recent optimizer change

Fixes a problem with a7a912eeab.

The existing test suite caught this bug, but I somehow overlooked
the failure report.
Fixed a bug in `values` within file lazy.rkt.
The issue was that when `values` was used with a single input, that input was being forced too early.
Now code such as:
(! (letrec-values ([(x) (values (list y))] [(y) (values 1)]) (car x))  )
should produce 1 instead of #<undefined>.

Some simple test cases were also added.
in lazy: separate values tests; add more tests
Fix _date to allow dates before 1970 year
ffi/unsafe/com: convert to `date*`, document limitations

Merge to v6.1 along with 7d65ee6127.
Initial implementation of struct-type contract generation.

Currently errors on all reflective access to struct types.