Prefer single license from package spec

If there is one and only one license in a package spec, use it, regardless of how many licenses are found in the files.  The assumption is that the package spec is more authoritative than the files.  Before, if the files and spec contained conflicting licenses, the dependency was assigned the 'other' license, which meant a lot more dependencies were getting 'other'.

For a small change to the code, there are a lot of repetitive changes to the tests.  I looked for a way to fix this, but couldn't find anything I liked.  Suggestions welcome.