This commit updates the forwarding plugin to support matching subdomains
of the root domain ("."). It looks like the forwarding plugin already
performs subdomain matches against the domains specified in the
forwarding rules files, but matches against the root domain weren't
working because of the way matches are performed by comparing the
normalized presentation format QNAME (which omits the trailing dot for
all QNAMEs except the root domain name).
Without this commit, only queries where the QNAME is exactly "."
would match a forwarding rule for the "." domain, like this (with
`offline_mode = true` and a single forwarding rule for the "." domain):
```
[2024-03-25 21:13:31] 100.100.100.100 . NS FORWARD 0ms 127.0.0.1:53
[2024-03-25 21:13:36] 100.100.100.100 com NS NOT_READY 0ms -
```
With this commit I get the expected result:
```
[2024-03-25 21:40:07] 100.100.100.100 . NS FORWARD 0ms 127.0.0.1:53
[2024-03-25 21:40:09] 100.100.100.100 com NS FORWARD 0ms 127.0.0.1:53
```
We now enforce the fact that a query always include a question.
It holds true for all practical use cases of dnscrypt-proxy.
This avoids quite a lot of redundant code in plugins, and is faster.