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.
Fix remote diameter_request table leak

An outgoing request whose pick_peer callback selected a transport on
another node resulted in an orphaned diameter_request entry on that
node.
Honor bind_to for manager net_if family inet

Bug reported by Pavel Baturko to erlang-bugs.
Try to increase test case timeouts
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().
Fix handling of 3xxx Result-Code without E-bit

Commit 00584303 broke the population of the errors field of the
diameter_packet record when an incoming request with an
E-bit/Result-Code mismatch was decoded. Instead of the intended

  {5004, #diameter_avp{value = integer()}},

the value was a 4-tuple containing the integer Result-Code.
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.
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
Rename reconnect_timer to connect_timer in examples and suites

The timer was renamed in commit abea7186.
Check {connect,watchdog}_timer distinction in event testcases

The connect timer is currently ignored by a connecting transport,
so the check causes one testcase to fail.
Fix ignored connect timer

There are two timers governing the establishment of peer connections:
connect_timer and watchdog_timer. The former is the RFC 6733 Tc timer
and is used by diameter_service to establish an initial connection. The
latter is RFC 3539 TwInit and is used by diameter_watchdog for
connection reestablishment after the watchdog leaves state INITIAL. A
connecting transport ignored the connect timer since the watchdog
process never died, regardless of the watchdog state, causing the
watchdog timer to handle reconnection.

This seems to have been broken for some time.
Tweak reason in closed event

From {error, Reason} to {no_connection, Reason} when a connection can't
be established. The exit reason of a diameter_peer_fsm process is turned
into a message from the corresponding diameter_watchdog process to the
relevant diameter_service process, the latter sending a 'closed' event
including the reason to any subscribers. Reason = [] when none of the
configured transport modules succeeds in establishing a connection,
which admittedly isn't terribly descriptive. (The lists is of error
reasons from transport start functions, which is empty as long as
transport processes start successfully.)

Note that this form of the closed event is undocumented, aside from the
documentation saying that one should expect undocumented events. The
explicitly documented forms are currently specific to CER/CEA failures.
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.