First run at support for versioned package 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.