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.
erts: getsockname is not allowed on non-bound sockets

This only produces an error on win32, but should not really be called
on *nix either.
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.
erts: Fix ub in list_to_integer and bignum div
stdlib: Fix timing issue in testcase

Another error message is generated when the process exits, ignore it.
erts: Add pooled_list and traitor_list
First attempt at adding a skel for -spec's

New skel adds a -spec for the function after point.
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().
configure.in: fix test == bashism
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.
Merge branch 'rickard/eager-check-io/OTP-12117' into maint-r16

* rickard/eager-check-io/OTP-12117:
  Introduce support for eager check I/O scheduling
Prepare release
ssh: Add ptty_alloc/[2,3]
ssh: Add pty_alloc request to ssh:shell/[1,2,3]
Make sure code links are generated even if undefined macros exist

OTP-11766
Fix ssh_sftp:start_channel timeout

The {timeout, Timeout} option passed to ssh_sftp:start_channel is not
applied to the early phases of the SSH protocol. For example, if the
remote server fails to respond after the "hello" then the call will hang
for as long as the server keeps the TCP connection alive.

This patch passes the Timeout through to ssh:connect. In case the
timeout occurs during these phases, {error, timeout} is returned.
Fix "-smp disable" for emulator with dirty schedulers

Running "erl -smp disable" on an emulator built with dirty scheduler
support caused problems such as segmentation violations and emulator status
line outputs containing garbage. For example:

    $ erl -smp disable
    Segmentation fault (core dumped)

and:

    $ erl -smp disable
    Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [ds:10:4297895689:4299948152] [async-threads:280]

This problem also caused the emulator smoke_test_SUITE to hit these same
problems if run in an emulator started with the "-smp disable" option.

Fix this segmentation violation by ensuring that dirty scheduler
information is printed in the status line only when the emulator is
compiled with ERTS_SMP enabled.

With this fix in place, the smoke_test_SUITE now passes when the "-smp
disable" option is used, and the emulator status line prints correctly for
both "-smp enable" and "-smp disable":

    $ erl -smp enable
    Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [kernel-poll:false]

and:

    $ erl -smp disable
    Erlang/OTP 17 [DEVELOPMENT] [erts-6.2] [source] [64-bit] [async-threads:10] [kernel-poll:false]
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