Fix types for new `racket/file` keyword arguments.
Move Typed Racket tests to their own package.
Remove unneeded require.
raco link: "user" versus "shared" links

By default, `raco link' is now more like `raco pkg' in terms of scope,
and version-specific information doesn't pile up in a user's "links.rktd"
file.
links file and pkg directrory location and search paths in "config.rktd"

Allow the location of the installation-specific "links.rktd" file to
be specified in "config.rktd", and also allow extra link files to
be provided.

Allow the same for package directories.

The main file/directory in each case corresponds to the file/directory
that can be modified by an installation-scope install. Extra files
or directories in a search path supports constant links and libraries
that are shared across installations --- like "/usr/lib" versus "/lib".
a step toward single-collection packages as default

A package's "info.rkt" file should define `collection' as a
string to name a single-collection package's collection, or as
the symbol 'multi to declare the package as multi-collection.
If `collection' is 'same-as-pkg, then the package name is used
as the collection name.

The default for `collection' is 'multi for now, but the intent
is to change the default to 'same-as-pkg after a conversion
period. Also, support for a `single-collection' definition remains
in place, but it wil be removed.
Add `collection` spec for new package.
Update props for TR tests move.
tweaks to 2f2bbd09cc388ab40dc90c4273d70e61ad71047d
adjust the hole structs a little bit to get better printing at the REPL
unbreak build (probably)
Fix broken phrasing.
.gitignore cleanups

* Clarified bogosity of toplevel .gitignore (and other such files)

* Removed "doc/" in the toplevel file -- looks like this was some broken
  leftover, and it's dangerous for at least "scribble/doc" (which
  contains code).

* Collapse more common patterns into worksp instead of in each file.

* Use a trailing "/" for directories.

* racket/lib/collects/pkg/.gitignore looks like a leftover that is no
  longer needed.