Fix behavior of the local resolver
The local resolver has been optimized, but still has problems:
- it doesn't clear cache when a rule changes
- it does not detect when a list is deactivated, but not removed
Additionally, it should pre-fill the whitelist cache with non-wildcard entries, as those are the heaviest to query. With the same reasoning the whitelist cache should be bigger.
Both wildcard types (whitelist & normal) should be checked after non-wildcard rules. All caches should be checked first.