refactor the way license objects are generated by the dumb string matching plugin: 1. never blank out data which might have been present while setting defaults; 2. use Python built-in instead of a loop when copying from one dict to another