raco pkg install: change inference of package sources

A file package source is inferred only if suitable file suffix is
present, etc.
setup/setup: a keyword-based API for running `raco setup'

Mostly moves the implementation out of `setup/plt-single-installer'
into a more generic format.
make `raco pkg install' call `raco setup' via `setup/setup'

Instead of using `system'.
`raco pkg': treat ".plt" format consistently with `raco setup -A'

An old package intended for use with `raco setup -A' can be
installed with `raco pkg install'.

A package created with `raco pkg create --format plt' can be
installed with `raco setup -A', although it could leave behind
weird "MANIFEST.rktd" and other files in the "collects" directory.

An old package created with `raco pkg create --format plt' still
can be used with `raco pkg install', although not with `raco setup -A'.

The change from previous 'raco pkg' behavior is that package content
now claims to be in a "collects" directory that is
installation-relative, and unpacking redirects "collects" to the
package-staging area. At the same time, unpacking still works the
same as before on ".plt" archives that are not installation-relative.
raco pkg: `--dont-setup' to `--no-setup' and help text adjustments

Adjustements are for case and setence consistency and to fit
in 80 columns.
`raco pkg': fixes for package source inference and handling

Also, test additions and documentation adjustments.
Singleton optimization for sequences that would allocate.
add tests for `in-list', `in-mlist', and `in-set' shortcut
Switch to use almost-standard DOCTYPE for Scribble.

Also switches scribble search trampoline to standard DOCTYPE.

Scribble's HTML output currently relies on the quirks-mode
box model for layout of the many tables used in rendering.
However, Scribble doesn't need the rest of the changes in
browser quirks modes, so we choose a DOCTYPE that just
changes the box model.

It's non-obvious how to replicated this formatting with CSS
in standard-mode rendering.  Probably a better long term
solution is to move away from table-based layout.

See further discussion on GitHub pull request 158 here:
  https://github.com/plt/racket/pull/158
scribble HTML: no extra breaking at the end of an identifier
meta/planet2: fix module broken by removing a file

Use `setup/unpack' instead of `planet2/util-plt'.
adjust the anchor message, keyboard recording message, and overwrite
message so they don't take up space when they aren't being shown
(to reduce the minimum width of the window)
Adjust DrRacket so the window can get narrower

For example, a new DrRacket window (with a file named tmp.rkt in the
and 356 afterwards.  This is under mac os x with, I believe, the
default system font sizes. (The file is important because different
languages can have different buttons in the toolbar and the filename's
length itself can affect the minimum size.)

Mostly this change is the addition of a new kind of panel that
lets its children have multiple fixed sizes (as opposed to
just a single minimum size and (optionally  arbitrarily large))
It also adjusts the various toolbar buttons to use this new code.

Also, there's a few tweaks to shrink other things that became the
limiting factor in shrinking the width of the DrRacket window.

Currently, at least for #lang racket programs, the toolbar buttons
along the top of the window are the limiting factor (including the
save button).  With a bogus language (ie, #lang rackeeet), the bottom
bar is the limiting factor, since that will have only the Save, Run,
and Stop buttons.

related to PR 13281
read and write support for fxvectors and flvectors