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.
erts: Fix file driver to handle long paths on windows
erts: Use GetFullPathNameW to construct abs paths from relative ones
erts: Fix long windows paths for compressed files
erts: Fix file_SUITE:make_del_dir for long paths

Windows do not accept long UNC paths for current working directory.
fix file_SUITE:cur_dir_0 for long windows paths
erts: Ignore reduntant slashes in windows paths
erts: Revert file:set_cwd impl for windows

No need to even try as CWD can not bee a long path anyway.
erts: Deprecate halfword emulator
[snmp/agent] Fixed the loop_mib test cases
[snmp/agent] Fixed request id generation

When testing the agent, it is started and then used for a series
(v1, v2, v3, ...) of tests. But the individual test cases are
use one instance of the test manager. Because of this, the requerst
id cannot be a counter starting from 1 or any counter for that
matter. Instead every request id was generated using random.
But this is obiously not a guarantee fo uniqueness, it merely
makes it unlikely that the request ids will be reused.
To get around this problem (without having to rewrite the
entire agent test suite) a simple (global) counter server is
introduced. It is started at the start of the agent test suite
(init_per_suite) and stopped at the end (end_per_suite).
[snmp/manager] Verify success for app start and stop in test cases

When starting and stopping apps verify success. If failure
to start or stop app force failure of test case or init/fin
of test case. Also, be more verbose regarding stop results
during test case finish.
[snmp/agent] CLeanup - unused vars and use of deprecated funcs
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
Protect generated .hrl files from multiple inclusions
zlib: Fix adler32_combine/4 and crc32_combine/4

Since our config.h is included in each source file in the zlib
directory, we must make sure that config.h is also included
every time zlib functions are called to ensure that definitions
of types are consistent.

zlib_drv.c did not include config.h, which caused problems on
a MacOS X Leopard system. What happened was that HAVE_UNISTD_H
was not defined when zlib.h was included. When unistd.h is not
known to exist, the type z_off_t will be set to a long (32 bits
on this platform). But when the zlib source files were compiled,
HAVE_UNISTD_H was defined, unistd.h would be included, and
z_off_t would be set to off_t (64 bits; defined in unistd.h).

As a result of the mismatch, calls to the adler32_combine() and
crc32_combine() would pass only 32 bits in the len2 argument when
64 bits were expected.
[snmp/manager] Add some more error handling when starting

Add some more error handling (a try catch block) when starting
both manager and agent.
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.