[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
Fix complicated union of INTEGER constraints

A constraint that was an union of integer ranges:

   Type ::= INTEGER (lb1..ub1 | ... | lbN..ubN)

would sometimes (depending on the values) not all always be properly
combined to a single effective range, but would become:

   Type ::= INTEGER (lb2..ub2) (lb3..ub3)

If that type was used in a SEQUENCE:

   S ::= SEQUENCE {
           v Type
         }

the constraint would be simplified, taking the intersection of the
ranges.
[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
Fix truncated pointers in erl_crash.dump

When dumping the heaps and stacks in the erl_crash.dump file, only
the lower 32 bits of pointers would be printed. Ensure that all bits
are printed.

While at it, make sure that printing sub binaries with a debug compiled
run-time system will work.
[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.
erts: Clarify documentation for erlang:statistics(run_queue)
Add support for locking mappings to physical memory

Using "+Mlpm all" switch all mappings made by the emulator will
be locked into physical memory.