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.
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
Merge branch 'hans/proptest/init/OTP-12119' into maint

* hans/proptest/init/OTP-12119:
  ssh: Add simple experimental property test suites
  inets: Add simple experimental property test suite
  common_test: Add experimental module ct_property_test
common_test: update vsn.mk
inets: update vsn.mk
ssh: update vsn.mk
Merge branch 'hans/update_vsn.mk' into maint