[9.18] Make isc_result tables smaller
The isc_result_t enum was to sparse when each library code would skip to next << 16 as a base. Remove the huge holes in the isc_result_t enum to make the isc_result tables more compact.
This change required a rewrite how we map dns_rcode_t to isc_result_t and back, so we don't ever return neither isc_result_t value nor dns_rcode_t out of defined range.
Closes #4149 (closed)
Backport of MR !8034 (merged)
Edited by Ondřej Surý