erts: Add pooled_list and traitor_list
erts: Fix bug causing mbc removed from cpool to be used at pool entrance

Clear both IN_POOL and BUSY flags when empty carrier is removed
is removed from pool to be destroyed.

Earlier it was enough to leave BUSY flag set but now with pooled_list
we must clear IN_POOL to avoid using it as cpool_entrance in cpool_fetch().
Optimize atomic ops with release barrier for 32-bit PowerPC
erts: Fix bug causing mbc to be deleted from cpool before it was inserted

Set IN_POOL flag _after_ mbc has been actually inserted.

Earlier it did not matter if IN_POOL was set early as it was not possible
to find a carrier before is was fully inserted. Now when searching
pooled_list and traitor_list we must make sure a found carrier has been
fully inserted into cpool before removing it.
Do not let non-empty run-queue prevent activation of scheduler

Conflicts:
	erts/emulator/beam/erl_process.c
Merge branch 'rickard/activate-runq/OTP-12287' into rickard/maint-17/activate-runq/OTP-12287

* rickard/activate-runq/OTP-12287:
  Do not let non-empty run-queue prevent activation of scheduler

Conflicts:
	erts/emulator/beam/erl_process.c
erts: Add internal docs for super carrier and new cpool search.
Fix typo in llvm/elf_format.hrl
Improve usage of libatomic_ops for word size atomics

Use AO_fetch_compare_and_swap*() when present
Implement support for double word atomics using libatomic_ops
Test to reveal odbcserver protocol bug
Delete odbcserver unused variables
Fix odbcserver warnings

These are signaled by -Wall
Fix signedness bug

The regression was introduced by making byte type signed.

Bitwise OR (|) applied to signed char (byte) and any longer type reqires the former to expand to the same size.
When the char is negative it is expanded with sign bit filling the extra bytes causing the unexpected result.
erts,crypto: Add configure option --with-ssl-rpath
add odbc:start/stop in testcase
erts: Use finite instead of isfinite with gcc

Turns out that isfinite emits a function call and not
an instruction in gcc, this makes estone float arith
about 50-75% slower. finite emits the instruction so
we use that instead.
Merge branch 'lukas/erts/isfinite-fix/OTP-12268' into maint

* lukas/erts/isfinite-fix/OTP-12268:
  erts: Use finite instead of isfinite with gcc
Merge branch 'maint'

* maint:
  erts: Use finite instead of isfinite with gcc
dialyzer: correct record updates

Correct a bug introduced in commit 8498a3.