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
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
Merge branch 'rickard/maint-17/eager-check-io/OTP-12117' into rickard/master/eager-check-io/OTP-12117

* rickard/maint-17/eager-check-io/OTP-12117:
  No eager check I/O on OSE
  Introduce support for eager check I/O scheduling

Conflicts:
	erts/preloaded/ebin/erlang.beam
Change default to "eager check I/O"

Conflicts:
	erts/emulator/beam/erl_process.c
Specify tar-file as basename in upgrade_SUITE

Earlier, the tar-file containing the to-release was specified with
absolut path. The correct way to do this is instead to copy the file
to the $ROOT/releases directory and only specify the basename of the
file in the call to release_handler:unpack_release/1.
INETS FTP: EPSV and EPRT for IPv4 added
ssh: Fix port scanner problems
ssh: reduce amount of printouts
ssh: Gracefully handle bad handshake messages
Clarify docs for driver_async() return value

The documentation for driver_async() still referred to the return value of
the function as a "handle", which is no longer meaningful since
driver_async_cancel() was deprecated and removed. Modify the documentation
to simply indicate that the driver_async() return value will be -1 if it
fails.
Clarify the use of SIGUSR1 for forcing crash dumps

The crash_dump document mentions indirectly that delivering a SIGUSR1 to a
running emulator process can force it to crash dump. Clarify that text to
make it clear SIGUSR1 can be used for that purpose, and also add a similar
note about using SIGUSR1 to the erl documentation.
[ct] Add ct_release_tests.erl

This is a library module for testing release related functionality in
one or more applications. The first version of ct_release_tests
include test of upgrade only.

Note that the hipe application does not support any upgrade, and typer
and dialyzer requires hipe, so these three applications are always
exluded from the test.
Add upgrade test in stdlib_SUITE

...using ct_release_test:upgrade/4