Add source module and refactor e2source config handling.
* Introduce a source module with a basic_source class, which all source
plugins have to implement.
* Move info.sources to source module.
* Turn e2source config tables into defined objects with clear interface.
* Convert all source plugins to class interface, cleaning source
validation up.
* Improve error checking and detect typos in source configs.
* Add a stringlist module providing a ADT for the common case of dealing
with arrays of strings.
* Fix files plugin calculation of sourceid when using per-file licences
entries
* Many small fixes...