First run at support for versioned dependencies.

Retrieves the set of available packages from the current - or the
configured - repository. Cross-references these packages with the
bundled package dependencies, and determines which package versions to
install. Constructs a list of URLs of packages to install, and uses
the `devtools` utility function `install_url` to install them.

Also:
* Adds support for dynamically generating packages.
* Replace hard-coded mock packages with dynamically generated mock
packages.
* Use dynamically-generated mock packages for all testing.
* Fix missing roxygen2 docs.

TODO:
* Conditionally use the package archive directories to search for older packages.