Don't lose the extension mark for object set parameters

When an object set is an actual parameter, the extension marker
for the object set could get lost.
Prevent loss of objects after the extension marker

In an object set with a single root object, objects after
the extension marker would be lost.
Fix rest_for_one and one_for_all restarting a child not terminated

In rest_for_one and one_for_all supervisors one child dying can cause
multiple children to be restarted. Previously if the child that caused
the restart is started successfully but another child fails to start,
the supervisor would not terminate this child with the other
successfully restarted children as no record of the pid was kept. Thus
the supervisor would try to start this child again. This could lead to
multiples of the same child or if the child is registered cause repeated
attempts at starting this child - until the max restart threshold was
reached.

Now the child that failed to start becomes the restarting child, instead
of staying with the same child, for the next restart attempt. This has
the following side effects:

1) In one_for_all the new version of the child that original died is
   terminated before a restart attempt is made.

2) In rest_for_one all succesfully restarted children are not terminated
   and restarting continues from the child that failed to start.
Move let expressions into sequences

The Core Erlang compiler simplifies let expressions by moving them
into their argument when it is another let or a case expression.
It can then perform other optimizations such as removing the let
expressions altogether, sometimes saving BEAM registers later in
the process.

This commit teaches sys_core_fold how to move let expressions into
sequence arguments.
inets: stop block timer with the right arguments
Merge branch 'jaf/fix-supervisor-multi-restart/OTP-11042' into maint
Merge branch 'maint'
Merge branch 'bjorn/asn1/fix-lost-extension-mark/OTP-10995' into maint-r15

* bjorn/asn1/fix-lost-extension-mark/OTP-10995:
  Prevent loss of objects after the extension marker
  Don't lose the extension mark for object set parameters
Prepare release
ssh: unicode adaptions
Update kernel.appup.src for R17
Update stdlib.appup.src for R17
Update sasl version and sasl.appup.src for R17

Also clean up appup_test in sasl_SUITE by removing old versions that
are no longer used.
Merge branch 'siri/appup-for-r17/OTP-10950'

* siri/appup-for-r17/OTP-10950:
  Update sasl version and sasl.appup.src for R17
  Update stdlib.appup.src for R17
  Update kernel.appup.src for R17
[common_test] Use max importance when logging errors

This commit adds ?MAX_IMPORTANCE to error notifications in the test
case log, and it makes sure that the printout says "CT Error
Notification".

Printouts from cth_log_redirect (sasl and error_reports) uses
?STD_IMPORTANCE and states "System" in the printout.
[common_test] Add link from red error notification to full error description

In test case log, the red error notification may sometimes be
truncated. This commit adds a link from this printout to the end of
the log where the full error description and stacktrace i written.
Do not count offline run-queues as empty
Merge branch 'bjorn/asn1/fix-lost-extension-mark/OTP-10995' into maint-r16

* bjorn/asn1/fix-lost-extension-mark/OTP-10995:
  Prevent loss of objects after the extension marker
  Don't lose the extension mark for object set parameters
Encode Erlang source files with non-ascii characters in UTF-8

To ensure that 'master' compiles when we merge 'maint' to it,
regardless of which encoding is default in 'master', all source
files with non-ascii characters *must* have the encoding specified.
Merge branch 'bjorn/fix-encoding/OTP-11041' into maint

* bjorn/fix-encoding/OTP-11041:
  Encode Erlang source files with non-ascii characters in UTF-8