Fix bug in discovering scrapers

If you discover scrapers for language A and then try to scrape language B, B's scrapers won't get discovered.
This is because discovered is not empty and bool(discovered) is True.
Remove duplicates from results of comparative(), superlative() in WiktionaryDe
Minor fixes for WiktionaryDe scraper
Adjust cache key (uid) for scraping results to take extra arguments into account
Merge individual scraping results (combining the wisdom of all scrapers)

When scraping, the backend asks all registered scrapers and combines the individual results.
The final return value depends on config['scraping-results-mode']:
If config['scraping-results-mode'] == 'best' (default), the first result (most frequent) will be returned.
If config['scraping-results-mode'] == 'all', a list of all results will be returned (sorted by frequency of occurrence).
Add tests
Add debug messages
Make package termcolor optional in helpers.py
Add warning() to helpers.py
Update README.md
Add tests for the configuration
Add tests for caching.py
Add tests for German (de)
Add tests for English (en)
Add tests for Spanish (es)
Add tests for Dutch (nl)
Add tests for Italian (it)
Add tests for French (fr)
Add comments to the default configuration
Add markers to tests