Support for installing versioned 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.