racket/sandbox: allow read of pkg- and config-table files
`find-collects-dir' and `find-config-dir' as built-in, cache values

The computations already existed in the built-in code, so moving
the functions reduces code duplication. Caching the values will
save a little time, but mostly it will avoid sandbox interactions
with the task of locating the main "collects" and "etc" directories.
Revert "Revert "make user PLaneT install path use installation name instead of version""

This reverts commit de230bc1efcf02e29827241bdb53fc571e7072e8.

Now that path computatons are built in, and now that the sandbox allows
reading the configuration file, using the installation name doesn't
break with sandboxing.
adjust the way the tabify preferences are saved so that new
additions to the default preferences are seen by everyone

related to PR 13810
don't evaluate (sync (system-idle-evt)) since it might not
come true in a parallel build

Thanks to Asumu for spotting this.
adjust the square-bracket prefs so they are saved
relative to some default settings instead of saving
the actual values

so changes to the default imply changes to everyone's actual
values for the prefs

closes PR 13810
fix `hash-clear!' on impersonated hash tables

Closes PR 13977
fix `planet/version'

Closes PR 13975
fix doc cross-reference
typesetting repairs for "info.rkt" docs
increase the resolution of the fairness tests

(they failed in Travis)
improve source location reporting in 2dmatch for empty cells

to make this happen, change the 2d reader so that it puts more
specific source location information into the read form
support file:// URLs as package sources
raco pkg install: add `--update-deps` flag

This option makes install and update even more consistent, also
`--auto` still implies `--update-deps` only in update mode.

Make `--update-deps' consult the user in `search-ask' mode,
make it ignored in `fail' or `force' mode.
racket/gui: adjust label size on some controls

Extra margins added by instantiating `message%' inside
`radio-box%', etc., made labels line up especially badly.
racket/gui: add 'disallow-invalid style to `get-text-from-user'
pkg: allow path string as `#:scope' argument
GUI package manager: fill in functionality

Add supoprt for various operations that became available in the
command-line interface.
protect package-source parsing against non-path strings
mrlib/terminal: fix eventspace handling in non-frame mode