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.
Fix SSH CLI when using custom "shell" option

Also address compatibility issue with PuTTY
SSH: documentation update for new algos
ssh: Negotiation_timeout testcase
ssh: negotiation_timeout bug fixed
ssh: Updated vsn.mk
ssh: Add testcases for max_sessions option

Now checks that if we have max_session sessions we could close one session and open a new one.  That is checked both for parallel and non-parallel logins.
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: Negotiation_timeout testcase
ssh: negotiation_timeout bug fixed
ssh: Updated vsn.mk
Update release notes
Merge branch 'maint-17' into maint
Update release notes
Merge branch 'marcus/OTP-17.2.1/mergefix' into maint

* marcus/OTP-17.2.1/mergefix:
  Updated OTP version
  Update release notes
Test Other Clauses of start_shell

start_shell() is called by exec, so test those cases as well.

Also add support for passing a fun to exec.
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 'michaelkschmidt/ssh_bug_fix' into maint

* michaelkschmidt/ssh_bug_fix:
  Test Other Clauses of start_shell
  Fix SSH CLI when using custom "shell" option
ssh: check if ssh client supports newer cipher- and MAC-algorithms
ssh: Add simple experimental property test suites