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.
Passing global var to QuickCheck statemachine

The data_dir used by the tests is given at runtime. This has as a
disadvantage that the generate test has a hardcoded data_dir in it
(ssh_eqc_client_server_dirs below):

[{set,{var,1},
{call,ssh_eqc_client_server,initial_state,
[{state,false,[],[],[],[],"ssh_eqc_client_server_dirs"}]}},
{set,{var,2},
{call,ssh_eqc_client_server,ssh_server,
[{{127,1,1,1},
{call,ssh_eqc_client_server,inet_port,[{127,1,1,1}]}},
"ssh_eqc_client_server_dirs",
[{parallel_login,true}]]}},

Re-running this tests on another machine works, since the path is
relative, but if it were absolute, it would have been hard.

Instead, we may use a symbolic representation of the data_dir and fill
it in each time one runs the property, thus even when one does a check
or recheck.

The key to this is to use a variable in the test and bind the variable
in the place where one runs the commands by using the environment
variable feature of run_commands.

Conflicts:

	lib/ssh/test/property_test/ssh_eqc_client_server.erl
No side effects in function arguments

We want to be able to see tests with eqc_gen:sample, we also want to be
able to re-run tests.

Side effects are no good idea if these goals need to be met. Therefore,
we replace the side effect to ask for a port by making a symbolic call
of this.

Nicer solutions are possible, but at least we can now re-run the test
case, and therefore shrink.
Reduce the total testing time for the properties to 20 seconds

We need to make a global budget for testing on CI server and then
define for each property how much it may use of that time. Probably in
auxiliary file, such that it can be computed from what has changed in
the repo.
Add timeout to a property test (Thanks John & Tobias @ QuviQ)
ssh_eqc_encode_decode.erl compiles
Optimizations
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: Initialize links when reading file info
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.
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.
Introduce support for eager check I/O scheduling
Merge branch 'rickard/eager-check-io/OTP-12117' into rickard/maint-17/eager-check-io/OTP-12117

* rickard/eager-check-io/OTP-12117:
  Introduce support for eager check I/O scheduling

Conflicts:
	erts/emulator/beam/erl_bif_info.c
	erts/emulator/beam/erl_init.c
	erts/emulator/beam/erl_process.c
	erts/preloaded/ebin/erlang.beam
No eager check I/O on OSE
Honor bind_to for manager net_if family inet

Bug reported by Pavel Baturko to erlang-bugs.
Try to increase test case timeouts
Fix missing field initializer in ERL_NIF_INIT macro

In the ERL_NIF_INIT macro, add a missing static initializer for the new
options field which was added to the ErlNifEntry struct for 17.3. This fix
prevents compile-time errors in NIFs when the compiler is instructed to
treat missing field initializers as errors.