[snmp/manager] Improve handling of unexpected/invalid snmpm_user callbacks

Improved handling of unexpected return values from snmpm_user
callback functions. Violations of the documented API (crashes or
invalid return values) will now result in an error message.
Updated doc for snmpm_user bahaviour and some other stuff.
Add more (common) type defs.
Update manager example.
Fixed manager test(s).
Fixed unused vars in (manager) test suite.
Make test user follow defined behaviour.
[snmp/agent] enable SNMP to create missing database directories

Add {db_init_error, create_db_and_dir} option to SNMP manager and
agent. This allows them to create any missing parent directories for
db_dir, rather than treating any missing directories as a fatal error.

The default for db_init_error, which is terminate, is unchanged.

Add create_db_and_dir to the documentation.

Add new tests to verify that using create_db_and_dir results in missing
parent directories being created.
[snmp] Update the config utility function for db-init-error

Update the config utility function (a simple cli for generating
the snmp config files) to handle the new db_init_error value
(create_db_and_dir).

OTP-11352
[snmp] Add proper version, release nodes and appup

Also fixed copyright end date.

OTP-11352
Merge branch 'bmk/snmp/create_db_dir/OTP-11352' into bmk/snmp/snmp425_integration
Merge branch 'bmk/snmp/manager/improve_user_callback_response_handling2/OTP-11307' into bmk/snmp/snmp425_integration

Conflicts:
	lib/snmp/doc/src/notes.xml
	lib/snmp/src/app/snmp.appup.src
{snmp] Fixed include depend
[snmp] Add (atl) log conversion block option

It is now possible to request that the Audit Trail Log should
be blocked during conversion (log_to_txt or log_to_io). This
could be usefull when coverting a large log (when there is
a chance it may otherwise wrap during conversion).
[snmp] Updated release notes, ref man, appup and assigned proper version
Merge branch 'bmk/snmp/blocking_log_during_conversion' into bmk/snmp/snmp425_integration

Conflicts:
	lib/snmp/doc/src/notes.xml
	lib/snmp/src/app/snmp.erl
[snmp] Commented out (currently) unused upgrade/downgrade function
[snmp] Wrong block cypher type used for AES

Wrong block cypher type used for AES ('aes_cbf128' instead of
'aes_cfb128') when performing AES block encrypt/decrypt which
breaks SNMP usmAesCfb128Protocol in agent and manager.

OTP-11412
[snmp/manager] Incorrect use of EngineBoots and EngineTime when encrypting

When performing the AES encryption, invalid values for the
EngineBoots and EngineTime was used. The values of the local
agent was used, which would have produced some values if an
agent was actually running. If not it would have caused a crash.

OTP-11413
Merge branch 'bmk/snmp/aes_encryption_fixes/OTP-11412' into bmk/snmp/snmp425_integration

Conflicts:
	lib/snmp/doc/src/notes.xml
[snmp] Improving ATL handling of corrupt logs

When converting an Audit Trail Log to text a corrupt
log entry could cause the entire conversion to fail.
Also, for a log with sequence numbers, failing to
decode a log entry would cause the conversion to fail
(not because of the failed decode, but because of the
failure to write the error message).

OTP-11453
Ensure carrier pool only accessed by schedulers

Disable carrier pool for the thread safe allocator instance 0.
This since non-managed threads allocates and deallocates memory
in this instance, and only managed threads are allowed to
access the carrier pool.
Add support for locking mappings to physical memory

Using "+Mlpm all" switch all mappings made by the emulator will
be locked into physical memory.
Add switch for disabling sys_alloc carriers

The switch "+Musac <boolean>" controls if sys_alloc carriers
are allowed.
Replace the +MMscmgc switch with +MMscrfsd

Replaced the +MMscmgc switch with the +MMscrfsd switch. The old switch
didn't reflect what it controlled.
Fix documentation of the +MMsco switch