Fix locations of shadowing warnings in ms_transform

A shadowed variable in an ms_transform match expression emits a warning
located at the match expression instead of the variable.
Introduce new option 'raw' in file_info functions

This option allows the caller not to go through the file server for information
about files guaranteed to be local.
Optimise io requests for long message queues

Ensure that the monitor reference is present in all receive clauses, so
that the compiler optimisation kicks in and the run time won't depend on
the length of the message queue of the calling process.

Remove the 'EXIT' clause, as its presence breaks the optimisation, and
that case is handled by the 'DOWN' clause anyway.

The test io_SUITE:io_with_huge_message_queue is an adaptation of
gen_server_SUITE:call_with_huge_message_queue.
stdlib: Fix timing issue in testcase

Another error message is generated when the process exits, ignore it.
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.
stdlib: fix a bug in qlc_SUITE.erl
Fix miscompilation when module contains multiple named funs

A module containing two named funs bearing the same name and arity could be
miscompiled.

Reported-by: Sam Chapin
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
Remove comments about unicode atoms in OTP 18

There was once a plan to implement support for unicode atoms in OTP
18. This plan has been stopped until further notice, and the
information about this is now removed from the documentation.
mnesia: Fix match_object bug

match_object returned wrong objects when matching on non key fields
and updates in the same transaction had been performed.
Merge branch 'hb/stdlib/fix_qlc_test'

* hb/stdlib/fix_qlc_test:
  stdlib: fix a bug in qlc_SUITE.erl
Test to reveal odbcserver protocol bug