Optimize rdataset_getownercase not to use bitshifts

The last rdataset_getownercase() left it in a state where the code was
mix of microoptimizations (manual loop unrolling, complicated bitshifts)
with a code that would always rewrite the character even if it stayed
the same after transformation.

This commit makes sure that we modify only the characters that actually
need to change, removes the manual loop unrolling, and replaces the
weird bit arithmetics with a simple shift and bit-and.
71 jobs for !5071 with 2515-improve-glue-cache-performance in 37 minutes and 40 seconds (queued for 13 seconds)
latest detached
Status Job ID Name Coverage
  Autoconf
passed #1736327
amd64 linux
autoreconf

00:00:18

 
  Precheck
passed #1736329
amd64 linux
clang-format

00:00:18

passed #1736330
amd64 linux
coccinelle

00:03:40

passed #1736331
amd64 linux
danger

00:00:16

passed #1736328
amd64 linux
misc

00:00:21

failed #1736332
amd64 linux
tarball-create

00:01:14

 
  Build
passed #1736343
amd64 linux
clang:asan

00:01:58

passed #1736347
amd64 linux
clang:buster:amd64

00:01:00

passed #1736350
amd64 libvirt
clang:freebsd11:amd64

00:01:22

passed #1736351
amd64 libvirt
clang:freebsd12:amd64

00:01:27

passed #1736352
amd64 libvirt
clang:openbsd:amd64

00:02:14

passed #1736345
amd64 linux
clang:tsan

00:01:09

passed #1736333
amd64 linux
gcc:alpine3.13:amd64

00:00:54

passed #1736342
amd64 linux
gcc:asan

00:01:32

passed #1736337
amd64 linux
gcc:buster:amd64

00:00:54

passed #1736334
amd64 linux
gcc:centos7:amd64

00:00:56

passed #1736335
amd64 linux
gcc:centos8:amd64

00:00:59

passed #1736341
amd64 linux
gcc:focal:amd64

00:01:13

passed #1736346
amd64 linux
gcc:mutexatomics

00:00:59

passed #1736339
amd64 linux
gcc:out-of-tree

00:01:10

passed #1736338
amd64 linux
gcc:sid:amd64

00:01:09

passed #1736348
amd64 linux
gcc:softhsm2.4

00:00:58

passed #1736349
amd64 linux
gcc:softhsm2.6

00:01:02

passed #1736336
amd64 linux
gcc:stretch:amd64

00:01:08

passed #1736344
amd64 linux
gcc:tsan

00:01:10

passed #1736340
amd64 linux
gcc:tumbleweed:amd64

00:01:02

passed #1736353
amd64 windows
msvc:windows:amd64

00:00:56

 
  Unit
passed #1736363
amd64 linux
unit:clang:asan

00:02:36

passed #1736367
amd64 linux
unit:clang:buster:amd64

00:01:50

passed #1736370
amd64 libvirt
unit:clang:freebsd11:amd64

00:02:35

passed #1736371
amd64 libvirt
unit:clang:freebsd12:amd64

00:02:08

passed #1736372
amd64 libvirt
unit:clang:openbsd:amd64

00:03:44

passed #1736365
amd64 linux
unit:clang:tsan

00:04:24

passed #1736354
amd64 linux
unit:gcc:alpine3.13:amd64

00:02:01

passed #1736362
amd64 linux
unit:gcc:asan

00:02:37

passed #1736358
amd64 linux
unit:gcc:buster:amd64

00:02:49

passed #1736355
amd64 linux
unit:gcc:centos7:amd64

00:01:50

passed #1736356
amd64 linux
unit:gcc:centos8:amd64

00:01:51

passed #1736361
amd64 linux
unit:gcc:focal:amd64

00:01:55

passed #1736366
amd64 linux
unit:gcc:mutexatomics

00:01:48

passed #1736359
amd64 linux
unit:gcc:sid:amd64

00:02:07

passed #1736368
amd64 linux
unit:gcc:softhsm2.4

00:01:43

passed #1736369
amd64 linux
unit:gcc:softhsm2.6

00:01:50

passed #1736357
amd64 linux
unit:gcc:stretch:amd64

00:00:45

passed #1736364
amd64 linux
unit:gcc:tsan

00:05:05

passed #1736360
amd64 linux
unit:gcc:tumbleweed:amd64

00:01:50

 
  System
passed #1736382
amd64 linux
system:clang:asan

00:15:07

passed #1736386
amd64 linux
system:clang:buster:amd64

00:13:21

passed #1736389
amd64 libvirt
system:clang:freebsd11:amd64

00:12:36

passed #1736390
amd64 libvirt
system:clang:freebsd12:amd64

00:12:49

passed #1736384
amd64 linux
system:clang:tsan

00:18:15

passed #1736373
amd64 linux
system:gcc:alpine3.13:amd64

00:13:58

passed #1736381
amd64 linux
system:gcc:asan

00:15:41

passed #1736377
amd64 linux
system:gcc:buster:amd64

00:14:15

passed #1736374
amd64 linux
system:gcc:centos7:amd64

00:13:55

passed #1736375
amd64 linux
system:gcc:centos8:amd64

00:13:27

passed #1736380
amd64 linux
system:gcc:focal:amd64

00:13:35

passed #1736385
amd64 linux
system:gcc:mutexatomics

00:14:28

passed #1736378
amd64 linux
system:gcc:sid:amd64

00:13:26

passed #1736387
amd64 linux
system:gcc:softhsm2.4

00:13:32

passed #1736388
amd64 linux
system:gcc:softhsm2.6

00:13:36

passed #1736376
amd64 linux
system:gcc:stretch:amd64

00:13:27

passed #1736485
amd64 linux
system:gcc:tsan

00:17:36

passed #1736379
amd64 linux
system:gcc:tumbleweed:amd64

00:13:23

failed #1736383
amd64 linux
system:gcc:tsan

00:18:43

 
  Docs
passed #1736391
amd64 linux
docs

00:00:54

 
  Postcheck
passed #1736395
amd64 linux
cppcheck

00:00:59

passed #1736392
amd64 linux
flake8

00:00:24

passed #1736396
amd64 linux
gcov

00:00:54

78.0%
passed #1736393
amd64 linux
pylint

00:00:28

passed #1736394
amd64 linux
scan-build

00:04:08

 
Name Stage Failure
failed
tarball-create Precheck
No job log