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.
erts: Don't redefine '_XOPEN_SOURCE'
erts: Fix tentative-definition-incomplete-type
ic: Suppress unused-value warning
compiler: Fix v3_core Maps pretty printing

Key and value were interchanged.
compiler: Fix v3_kernel Maps pretty printing
fix escript archive symlinked across drives

real_path method used while prim loading archive files was not taking into account
the fact that windows directory symlinks can be across different drives
(eg. c:\tmp\test is a symlink to j:\tmp\test). when performing a path split the drive
precedes the symlink, but that has be rewritten also since it's different. This issue
never arises in Unix since obviously there are no drives
Fix a typo in clean section of otp_mibs makefile

There is no such variable $(TARGETS_FILES) (with S)
Cleanup behaviour modules in ssh

Behaviour modules were not cleanuped.
Cleanup behaviour modules in ssl

Behaviour modules were not cleanuped.
Cleanup parse_transform modules in eunit

Parse_transform modules were not cleanuped.
compiler: Maps are always patterns never values in matching

Removed dead code.
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 filelib:wildcard/2 when 'Cwd' ends with a dot

In such case, filelib:wildcard/2 returned truncated results:

  1> file:set_cwd("/usr/lib/erlang/lib").
  ok
  2> filelib:wildcard("stdlib-*/ebin/*.app", filename:absname(".")).
  ["dlib-2.1/ebin/stdlib.app"]
odbc: Suppress signedness warnings for 'char *'

Three different pointer types are used for strings.

SQLCHAR pointer - used against ODBC driver
char pointer - used against erl_interface
byte pointer - used internally

SQLCHAR is 'unsigned char' while erl_interface is 'signed char'

byte pointer should probably not be used at all.