QNAME minimization remake
Instead of doing everything in one fetch context we create separate fctxs for each minimized query.
Also added is loop detection in queries, which happens more often in qname minimization, classic example is:
example1. IN NS ns.example2. example2. IN NS ns.example1.
In a hot cache situation named would timeout on this without even sending any queries, which IMHO is an odd behaviour. Since some of the tests (e.g. reclimit) directly depended on this behaviour they are now broken.