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.
Fix typo in documentation /header_as_is/headers_as_is/
stdlib: Call format_status even if terminate callback crashes

The format_status callback (if exists) should always be invoked when
logging errors.
add maps:only/2
maps:only/2 -> maps:with/2
[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.
Fix SSH CLI when using custom "shell" option

Also address compatibility issue with PuTTY
SSH: documentation update for new algos
Fix emigrate bug in erts_port_task_schedule()

While current run-queue lock is unlocked in the call to
erts_check_emigration_need() from erts_port_task_schedule() the
port can be migrated to another run-queue by another thread.
The code in erts_port_task_schedule() needs to check if this
has occurred when returning from erts_check_emigration_need(), and
if so respect the migration decision. When this was not done,
the thread calling erts_port_task_schedule() held the wrong
run-queue lock which caused invalid updates of the port task queue.

This bug was automatically fixed by the rewrites in the branch
rickard/r16b/port-optimizations-fixes/OTP-10336 (commit
56cef897ca3ad2377e34a6ea5800a54a28cbeb6e) introduced in erts-5.10
and do not effect erts versions after that.
Verify run-queue asserts
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.
Merge branch 'rickard/port-emigrate-bug/OTP-12084' into rickard/port-emigrate-bug/maint/OTP-12084

* rickard/port-emigrate-bug/OTP-12084:
  Verify run-queue asserts
  Fix emigrate bug in erts_port_task_schedule()

Conflicts:
	erts/emulator/beam/erl_port_task.c
Ensure "runnable proc" trace messages are not sent out of order
Ensure "runnable port" trace messages are not sent out of order
Fix busy_port_SUITE:io_to_busy test-case
Fix ERTS_POLL_DEBUG_PRINT usage
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.
Fix misspellings of 'another'
Merge branch 'kittee/maps_only' into maint

* kittee/maps_only:
  maps:only/2 -> maps:with/2
  add maps:only/2