A package catalog now supplies information about a package's modules
and dependencies, so propagate it when copying a catalog, make the
information accessible via `raco pkg catalog-show', and so on.
Also, more consistently propagate a given checksum, which can
happen more through the `pkg-install' export from `pkg/lib'
than through `raco pkg'.
Also, report to the user when consulting GitHub or downloading
a checksum.
This termonology change affects lots of function names from `pkg/lib'
and `pkg/db' (former `pkg/pnr-db'), and it also affects some `raco
pkg' commands.
Existing package installations that are marked as 'pnr in a
local configuration are converted automatically to 'catalog, but any
existing "indexes" configuration must be changed to "catalogs".
That is, limit the ending `raco setup' to the same collections
as the corresponding `raco pkg install' (droppping collections
that no longer exist afterward, of course).
Make the installed-package database lock reentrant, change some
functions to take the lock, and fix the documentation on when a
lock is expected to be taken outside of functions.
Adds `pkg/pnr-db', `raco pkg index-copy', and `raco pkg index-show'.
Includes tools to build a database of modules that are supplied by
packages, which will be useful for a tool to recommend package
installs when a module is not found.
Also, document `pkg/lib' and add extra helper functions
for getting package information from a package name resolver.