erts: Fixate timer wheel resultion at compile time if possible
[common_test] Extend valid interval for approximate timer values in tests

When matching the result of tests of timetrap timeouts, the actual
time is measured against the expected time, and an interval of +/- 2%
was seen as correct result. This turned out to fail on some platforms
and is now changed to 5%.
[common_test] Extend timeout values for slave nodes in ct_master_SUITE

Some tests in ct_master_SUITE failed on some platforms with
boot_timeout when trying to start slave nodes. The default timeout
value was 3 seconds, and it is now extended to 10 seconds in these
tests.

To avoid similar errors with init_timeout and startup_timeout, these
are both exteded from 1 second default value to 10 seconds in this
test.
[common_test] Changed call to publick_key to use documented interface

Earlier used 'OTP-PUB-KEY':encode/2 - now public_key:der_encode/2 instead.
[common_test] Avoid hanging ct@host node if crypto does not exist

ct_netconfc:init_per_suite called ct_test_support:init_per_suite
before checking if crypto exists. This caused the slave node (ct@host)
to be started even though the suite would be skipped when crypto did
not exist - which in turn caused a hanging ct node since end_per_suite
is not run in a skipped suite. This has been corrected.
[common_test] Extend timetrap time in ct_hooks_SUITE

This suite often fails with timetrap timeout on some test machines.
Replace use of driver_send_term() with erl_drv_send_term()
Replace use of deprecated functions in test cases

driver_send_term() replaced by erl_drv_send_term().
driver_output_term() replaced by erl_drv_output_term().
Fix documentation
Add 'port_count' and 'port_limit' to system_info/1 spec
Add workaround for CentOS/RedHat writev bug to inet_drv
Clean up and make the fix work on windows.

Thanks to Tony Rogvall.
Report spec discrepancy on mismatching lists

This patch enables Dialyzer to detect cases where a function has a specification
for a return type containing some list with elements different than the ones
Dialyzer's own algorithm can infer e.g. a function specified to return [atom()]
when actually [[atom()]] is returned.

Previously Dialyzer remained silent, under normal operation, seeing that these
two types have the empty list as a common element, so they were not 'completely
irrelevant'.
Change proposed scheduler wakeup strategy to be the default
Add test case to verify that config data gets properly restored
Add verification terms in test suite

OTP-10070
erts: Refactor rename DFLAG(S)_INTERNAL_TAGS for conformity
erts: Change internal representation of atoms to utf8
stdlib: Fix printing of unicode atoms
erl_interface: Enable decode of unicode atoms

No API changes or additions. Just the ability for erl_interface to decode
unicode atoms and convert them into latin1 strings to preserve backward
compatibility for the existing API.