Add assertion message.
Fix condition for testing if a package description exists.
Print a more descriptive error message when PackageManager.getTemporaryPackage fails.
Fix triggering an assertion when storing dependencies in advanced format.

The code was assuming that such dependencies had always exact versions, which is of course not always true (it should, however, be true for dependencies with a "path" field).
Change Dependency.toString to output "x.y.z" instead of "==x.y.z" for exact versions.
Fix unit tests to use lower case package names.