SSH: add support for aes128-ctr and hmac-sha2-256

This cipher and hmac are RECOMMENDED as per RFC4344 and
RFC6668. RFC4344 notes that aes128-ctr is likely to be
promoted to REQUIRED in the near future.

Some distros of Linux and Illumos are already shipping with
aes128-cbc and 3des-cbc disabled by default due to security
concerns around chosen-plaintext attacks and other information
leaks. Without this patch, OTP SSH cannot connect to these
SSH servers in their default configuration.
Properly track column numbers in erl_scan

This is a partial revert of 05c4d31b2c5c5f6ade7d91b55c598fe7fa58e509 in
which a new macro `?STR()` was introduced. This macro shouldn't be used in
scan_number/6 and scan_based_int/6 because the length of the string is
needed when computing column numbers through tok3/8.
[ct] Update runtime dependencies towards test_server

Ticket OTP-11971 introduced a runtime dependency towards
test_server-3.7.1, since the interface between test_server and
common_test was changed. Erroneously, the common_test.app file was not
updated according to this. This has now been corrected.
SSH: documentation update for new algos
SSH: add ssh_to_openssh test for ciphers and macs

This is only an openssh-client-erlang-server test, because
no public API to select ciphers is available for the erlang
client yet.
SSH: only enable ciphers/MACs when they are available in crypto

Also adjusts tests to only expect a positive outcome when
crypto supports the relevant base ciphers/MACs.
Avoid timing issue in schema transaction when node is stopping

By doing an abort, the create_table can be restarted
if a node go down during the transaction.

{badarg,
   [{erlang,link,[undefined],[]},
    {mnesia_controller,
        wait_for_schema_commit_lock,0,
	       [{file,"mnesia_controller.erl"},
         {line,303}]},
    {mnesia_schema,prepare_commit,3,
        [{file,"mnesia_schema.erl"},
         {line,1838}]},
    {mnesia_tm,commit_participant,6,
        [{file,"mnesia_tm.erl"},
         {line,1669}]}]}}},
Merge branch 'dgud/mnesia/create-table-race/OTP-12124' into maint-17

* dgud/mnesia/create-table-race/OTP-12124:
  Avoid timing issue in schema transaction when node is stopping
Prepare release
Updated OTP version
Merge branch 'maint-17' into maint

Conflicts:
	OTP_VERSION
Merge branch 'siri/ct-runtime-deps/OTP-12037' into maint

* siri/ct-runtime-deps/OTP-12037:
  [ct] Update runtime dependencies towards test_server
Merge branch 'nox/erl_scan-fix-column-tracking' into maint

* nox/erl_scan-fix-column-tracking:
  Properly track column numbers in erl_scan
sys_core_fold: Eliminate name capture bug

The scope is supposed to contain all variables that are currently
live. We need this information for certain optimizations to
avoid capturing a name (a name that is in the scope must be renamed;
for an example, see move_let_into_expr/2 or any function that calls
sub_subst_scope/1). We also use the scope to optimize sub_del_var/2
and sub_is_val/2.

When optimizing case expressions, the scope could be reset to an
empty list (because sub_new/0 was called instead of sub_new/1).
That could cause name capture if inlining was turned on.

As simple way to force this bug is to uncomment the
"-define(DEBUG, 1)." near the beginning of the file. Without this
correction, most files in the test suite fail to compile.
Merge branch 'bjorn/compiler/fix-scope-bug/OTP-12132' into maint

* bjorn/compiler/fix-scope-bug/OTP-12132:
  sys_core_fold: Eliminate name capture bug
Update primary bootstrap
ssh: check if ssh client supports newer cipher- and MAC-algorithms
common_test: Add experimental module ct_property_test

This module may change without warning...
inets: Add simple experimental property test suite
ssh: Add simple experimental property test suites