Teach test_server to report severe errors to common_test

If a severe error occurs in test_server (e.g. failing to write to
log files), test_server would terminate without commont_test knowing
about it. Since ct_run can now return an exit code, it is important
that common_test is aware of severe problem so that it can indicate
that an error has occurred.
common_test: Don't use undocumented features of io:format()

The Format string argument for io:format() is not documented
to accept an iolist, so we should not depend on it.

Also, it is bad practice to use an arbitrary string as a format
string for io:format(), since it could contain a '~' character
which could trigger a badarg exception.

Fix both problems at the same time by using io:put_chars() to
display the iolist.
ct_master_logs: Don't use io:format/3 with an empty variable list

It is bad practice to use an arbitrary string as a format
string for io:format(), since it could contain a '~' character
which could trigger a badarg exception. Therefore, replace all
io:format/3 calls that looks like:

  io:format(Fd, String, [])

with:

  io:put_chars(Fd, String)
[common_test] Add minor test suite for ct_snmp
[common_test] Remove calls to undefined functions from ct_snmp
[common_test] Change NotifType to atom instead of string

OTP-10432

In call to snmp_config:write_agent_snmp_files, the NotifType argument
was earlier a string. This has been changed to an atom since it failed
in snmp application and notify·conf was not created.
[common_test] Use ct_snmp 'agent_vsns' config value in snmp app config

OTP-10432

Config parameter 'agent_vsns' in ct_snmp was ONLY used in call to
snmp_config:write_agent_snmp_files. There it is only used for deciding
if usm config shall be written (if v3 is included) or not.

The value of 'agent_vsns' was NOT added to the snmp application's
agent configuration, so the snmp application's own default value would
be used - this is [v1,v2,v3]. The result was that if v3 was not
included in 'agent_vsns', then usm.conf was not written, but when
starting the agent it would complain that this file did not exist
since snmp's default versions are all [v1,v2,v3].

This has been corrected - the 'agent_vsns' value is now inserted in
the snmp application agent configuration as {versions,AgentVsns}.
[common_test] Updated (minimized) config for ct_snmp test after fixing bugs

Bugs reported in OTP-10432 allowed the config for ct_snmp test to
specify only one version for agent and manager.
[common_test] Moved ct_snmp_SUITE into data dir and run as other ct tests
Merge branch 'siri/common_test/undefined-snmp-funcs/OTP-10088'

* siri/common_test/undefined-snmp-funcs/OTP-10088:
  [common_test] Moved ct_snmp_SUITE into data dir and run as other ct tests
  [common_test] Updated (minimized) config for ct_snmp test after fixing bugs
  [common_test] Use ct_snmp 'agent_vsns' config value in snmp app config
  [common_test] Change NotifType to atom instead of string
  [common_test] Remove calls to undefined functions from ct_snmp
  [common_test] Add minor test suite for ct_snmp

Conflicts:
	lib/common_test/test/Makefile
Merge branch 'bjorn/common_test/dialyzer-fixes'

* bjorn/common_test/dialyzer-fixes:
  ct_master_logs: Don't use io:format/3 with an empty variable list
  common_test: Don't use undocumented features of io:format()
[ct] Shorten testcase names

So it works on windows otherwise crashes the testrun when
path is longer than 255 chars.
Merge branch 'dgud/ct/fix-trashed-logs/OTP-10369'

* dgud/ct/fix-trashed-logs/OTP-10369:
  [ct] Shorten testcase names
  Shorten testcase names
  [ct] Block output into single io call
[common_test] Added tests and corrected bugs in ct_snmp

OTP-10454
OTP-10434

Function register_users/2, register_agents/2 and register_usm_users/2,
and the corresponding unregister_*/1 functions were not
executable. These are corrected/rewritten.

Function update_usm_users/2 is removed, and an unregister function is
added instead. Update can now be done with unregister_usm_users and
then register_usm_users.

Functions unregister_*/2 are added, so specific users/agents/usm users
can be unregistered.

Function unload_mibs/1 is added.

Overriding configuration files did not work, since the files were
written in priv_dir instead of in the configuration dir
(priv_dir/conf). This has been corrected.

Minor updates to documentation.
Merge branch 'siri/common_test/ct_snmp-tests'

* siri/common_test/ct_snmp-tests:
  [common_test] Added tests and corrected bugs in ct_snmp

OTP-10454
OTP-10434
common_test: Make ct_system_error_SUITE portable to Windows

On Windows, the log files are not placed under priv_dir, so we will
have to retrieve the path using ct_test_support (which works fine
on all platforms).
Introduce ct_group_leader_SUITE that does nasty things with group leaders
Test ct:capture/start/stop/get
common_test: Enable running cover on common_test
[common_test] Don't stop cover before stopping slave node

In order to avoid crash of processes that hold old code, cover is no
longer stopped before slave nodes are stopped. Instead cover:flush is
used which only fetches cover data from the slave.

This, along with similar changes in test_server allows all common_test
modules to be included in cover analysis.