Fix the line counting in string function

The line counter becomes invalid, when the rules with linewrap are
used. This issue appears, because the parsing FSM does not rollback
the line counter after attempting such rule.
Add unit test for string fun in leex test suite
Fix line counting in token and tokens functions

The line counter becomes invalid, when the rules with linewrap are
used. This issue appears, because the parsing FSM does not rollback
the line counter after attempting such rule.
Unit tests for 'token' and 'tokens' are also added.
BER decoding: Don't allow primitives with indefinite lengths

According to the BER encoding rules, only constructed values may
have indefinite lengths. A primitive value must be encoded with
a definite length.

Reported-by: Simon Cornish
erts: Fix erlang:port_set_data/2 for non immediate data

hsize field was not set leading to VM crash
erts: Fix race between port_set_data, port_get_data and port termination

Always update prt->data with atomic xchg-op.
Check for NULL data to detect racing port terminator.
Use NULL, as THE_NON_VALUE can be a valid pointer on debug VM.
erts: Add test case for port_set_data and port_get_data
Fix obsolete comment

spawn_request/1 is obsolete since R11B-0
erts: Mend port_set_data with non-immed data for halfword VM
Don't generate weird exit if ct_logs has terminated before shut down
Minor misprints correction
dialyzer: fix bug concerning compiler option 'warnings_as_errors'

A typical scenario: the type digraph() is used in R16 (compilation
with the option 'warnings_as_errors' results in no warning); then the
module is analyzed by a 17 Dialyzer where digraph() is obsolete, and
since the warning is turned into an error Dialyzer fails to load the
module.

Thanks to Michael Truog.
ssl: Servers may include an empty SNI-extension
ssl: Prepare for release
dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling

If, for instance, 'warn_unused_import' is present in
ERL_COMPILER_OPTIONS then many files in Erlang/OTP (Kernel, STDLIB,
...) cannot be analyzed by Dialyzer since the option is not present
when compiling Erlang/OTP, but 'warnings_as_errors' is.

The case that ERL_COMPILER_OPTIONS contains 'warnings_as_errors' can
only be handled by ignoring ERL_COMPILER_OPTIONS.
dialyzer: do a minor re-factoring

A minor re-factoring and generalization.
ssh: testcase
ssh: Corrected ret val from ssh_connection:subsystem/4.
ssh: Fix option user_interaction to work as expected

When password authentication is implemented with ssh
keyboard-interactive method and the password is already supplied, so
that we do not need to query the user, connections should
succeed even though the user_interaction option is set to false.
Merge branch 'hb/dialyzer/warnings_as_errors/OTP-12225' into maint

* hb/dialyzer/warnings_as_errors/OTP-12225:
  dialyzer: do a minor re-factoring
  dialyzer: Ignore ERL_COMPILER_OPTIONS when compiling
  dialyzer: fix bug concerning compiler option 'warnings_as_errors'