First run at support for versioned package dependencies

    Add 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.
    
    * Supports CRAN-like Archive directories, as well as single-directory repositories.
    * Adds support for dynamically generating packages.
    * Replaces hard-coded mock packages with dynamically generated mock
    packages.
    * Use dynamically-generated mock packages for all testing.
    * Fix missing roxygen2 docs.
    * Switch to using an augmented implementation of devtools'
    `install_version`. Note that the name is identical and much of the
    functionality is similar.
    * `bundle` now simply uses the default repositories, meaning the user
     must set their repos option prior to calling `bundle`. This greatly
     simplifies the logic in `bundle`, since we no longer have to deal with
     the temporary repository setting and the `tryCatch` surrounding it.
     This also makes it far easier to debug.
    * Add utility functions to help diagnose package version issues. Specifically,
    export `find_available_versions`.
    * Set pkgType to 'source' for all testing.
    
    Update NEWS.