Return all matching records when multiple local entries match
Related to https://gitlab.nic.cz/knot/knot-resolver/-/work_items/808 and the implementation in https://gitlab.nic.cz/knot/knot-resolver/-/merge_requests/1443.
These handle adding multiple addresses, either via the config \`_/local-data/addresses/_\` or via the lua api with \`hints.set()\`. While I presume these are indeed inserted into the database, it does not make the resolver actually **return** multiple records.
The concrete example at hand is having multiple A records for a given name (not an A and AAAA record side-by-side). It will only ever return the first specified address.
Manually specifying them via an explicit list of A records in \`/local-data/records\` seems to use a different code path and indeed returns **all** corresponding A records.
My initial guess as to why this happens is the code [here](https://gitlab.nic.cz/knot/knot-resolver/-/blob/master/lib/rules/api.c#L397-400): The function `rule_local_data_answer()` in `/lib/rules/api.c` returns the first match that completely matches the query name and type and then considers the query handled successfully.
issue