Can you add a test that tests a mix in the aliases list? I don't think the following works:

aliases = [
        'The Apache Software License, Version 2.0' : ['Apache 2', 'Apache License Version 2.0', 'Apache License, Version 2.0', 'Apache License 2.0', license('Apache License', 'http://www.apache.org/licenses/LICENSE-2.0')]
   ]

It never seems to merge the last "Apache License" into the list.