user paths depend on name (not always version); no `shared' pkg scope

An installation has a name (via the configuration file "config.rktd")
that defaults to the version string. The name, instead of the
Racket version, is used for forming the path to the user "collects"
directory, user packages, and so on. The `user' package scope is
thus user- and installation-name-specific (instead of user- and
version-specific).

Remove `shared' package and link scope, since the notion of
installation names generalizes the concept (a set of installations
can be given the same name) and fits it into `user' scope.
make a build via the top-level makefile set scope to `installation'

Also, set the installation name to "development".
make installation name configurable via `raco pkg config'
distro-build: support installation-name configuration for installers

The default is "snapshot" for non-release builds, left as the
version number for release builds.
add `raco pkg migrate'
add migration panel to GUI package manager

Also add "gui-pkg-manager" packages, including a "Racket Package Manager"
GUI application (that needs a better icon).

The package that supplies "Racket Package Manager" is not in the main
distribution, since DrRacket already includes the GUI package manager.
fix icon for "Racket Documentation" launcher