Pass full strings to DTrace probes

Whenever string is passed as an argument to a DTrace probe, its length
should be properly computed. Until now in order to get length of the
input buffer size_of(char *) was used - which evalutes to 4 or 8
(depending on the architecture). To get a proper length,
size_of(DTRACE_CHARBUF_NAME(buffer_name)) should be used.
Remove RTL code that handled the (is_)constant guard

The (is_)constant/1 guard is removed from Erlang long ago and thus
there is no need to handle it in RTL.

While editing these files, also performed some minor cleanup.
Shorten default timetrap timeout for ct_master test suite
eldap: Fix asn.1 decode into binaries
fix sys:get_state/1,2 and sys:replace_state/2,3 when sys suspended

Add two new system callbacks Module:system_get_state/1 and
Module:system_replace_state/2 to allow sys:get_state/1,2 and
sys:replace_state/2,3 to operate correctly even if a process is sys
suspended. Modify gen_server, gen_fsm, and gen_event to support the new
callbacks.

If a callback module does not export these functions, then by default the
Misc value (the same as that passed as the final argument to
sys:handle_system_msg/6, and returned as part of the return value of
sys:get_status/1,2) is treated as the callback module's state.

The previous behaviour of intercepting the system message and passing a
tuple of size 2 as the last argument to sys:handle_system_msg/6 is no
longer supported.

Add tests to verify the correctness of sys:get_state/1,2 and
sys:replace_state/2,3 when processes are sys suspended. Add two tests for
modules that implement special processes, one that exports
system_get_state/1 and system_replace_state/2 and one that doesn't.

Much of the credit for this patch goes to James Fish, who reported the
initial problem and implemented much of the fix.
remove tuple funs from special process documentation

Support for tuple funs was removed in R16B but the documentation for
special processes, sys, and proc_lib in the OTP Design Principles still
showed examples using them, and those examples no longer worked. Fix the
examples to use regular functions instead and fix the documentation to
reflect the changes.
Fix some dialyzer warnings in ct_netconfc
Change release name from "OTP APN 181 01" to "Erlang/OTP"
Update primary bootstrap

   bootstrap/bin/start.boot
   bootstrap/bin/start_clean.boot
Introduce total timeout value in ct_telnet:expect/3 options

OTP-11689
Add test cases
Remove dead code
Fix code to get rid of dialyzer warnings
Update incorrect type specifications
Specify that +fn* flags affect even command-line parameters and environment variables
Prevent cth_surefire hook from crashing if previous hook returns fail or skip.
Merge branch 'siri/release-name/OTP-11736'

* siri/release-name/OTP-11736:
  Update primary bootstrap
  Change release name from "OTP APN 181 01" to "Erlang/OTP"
stdlib: Generalize erl_parse:abstract/2

The 'encoding' option of erl_parse:abstract/2 has been extended to
include 'none' and a callback function (a predicate).

The rationale is that a more general means of determining what integer
lists are to be represented as strings may help readability when
generating Erlang code given input in some other encoding than Latin-1
or UTF-8.
Merge branch 'hb/stdlib/erl_parse_abstract/OTP-11807'

* hb/stdlib/erl_parse_abstract/OTP-11807:
  stdlib: Generalize erl_parse:abstract/2
Merge branch 'siri/ct_netconfc-dialyzer'

* siri/ct_netconfc-dialyzer:
  Fix some dialyzer warnings in ct_netconfc