Support multi-licensed dependencies

When a dependency has multiple licenses, it's approved if any one of its licenses is whitelisted.

In this PR we modify `LicenseFinder::Dependency` to store an array of licenses. This array is serialized into a JSON string and stored in the DB.

This PR includes the cleanup in #103.
This conditional seems strange... wouldn't you want to update whenever the other licenses are different in any way?  

If `License`s have everything set up correctly to put them in sets (basically their hash code needs to be based on the license name, not on their object id), you could compare `licenses.to_set != other_licenses.to_set`

Or more generically, it would be nice if LF passed around sets of licenses everywhere, instead of arrays.  It would remove a lot of `uniq`s from random parts of the code.