Fixes identification of third-party packages.

Third-party packages are determined by a '+' character in their name.
Previously, if the entire path to the package contained a '+' character it was
considered a third-party packages.  This commit strengthens that requirement to
the specification.
resolvers: 'dependencies()' method returns a set.

The ordering of items returned by the 'dependencies()' method is irrelevant, as
the topological ordering will be determined from the overall dependency
structure.  To formalize this, and to ease testing the return value using set
equality, the methods now return 'set's.
Introduces 'PackageResolver' tests.
Introduces 'UnitResolver' tests.