crypto: Remove all processes from application crypto

and make it into a pure library application.
The processes where a legacy from the time when crypto was
implemented with a driver.
Merge branch 'sverk/crypto-process-slaughter'

OTP-11619

* sverk/crypto-process-slaughter:
  crypto: Remove all processes from application crypto
crypto: Abort VM if out of memory

Nice crash instead of segv or worse.
crypto: Fix bug when using old hmac context

Symptom: Using an old context (that had already been passed as argument to either
hmac_upgrade or hmac_final) could cause VM crash or worse.

Reason: Only a shallow copy (memcpy) of the context was made causing
a new context to partly mutate its parent context into an inconsistent
state.

Problem: Only OpenSSL v1.0 supports deep copy of hmac context. It is thus
not possible to implement a functional interface for older OpenSSL
versions (0.9.8) which still have wide spread use.

Solution: Change hmac contexts into a mutable state using NIF resources.
Document reuse of old contexts as undefined.

Future: If a need for reusing old context variables arise, a new hmac_copy
function could be introduced that is only supported for OpenSSL v1.0.
Fix library application appup files

As discussed in issue #240 *all* OTP library applications use the '.*'
wildcard as up and down version. This makes library applications
always up- and downgradeable. Using the wildcard version obsoletes
all maintenance tasks regarding library applications' appup files.
Additionally, it prevents upgrade problems caused by automatically
included application dependencies when using reltool to create
releases. Missing copyright headers are now consistently present.
Merge branch 'sverk/crypto/hmac-context-reuse-bug'

OTP-11722
OTP-11724

* sverk/crypto/hmac-context-reuse-bug:
  crypto: Fix bug when using old hmac context
  erts: Fix NIF bug when load/upgrade fails after enif_open_resource_type

Conflicts:
	erts/emulator/test/nif_SUITE.erl
Merge branch 'sverk/crypto/nomem-abort'

OTP-11725

* sverk/crypto/nomem-abort:
  crypto: Abort VM if out of memory
Add test suites performing app and appup file checks

Add the mentioned test suites for *all* library and touched
non-library applications.
Merge branch 'schlagert/fix_basic_appups'

* schlagert/fix_basic_appups:
  Dynamically configure typer_SUITE according to environment
  Disable hipe_SUITE when environment doesn't support it
  Make hipe non-upgradable by setting appup file empty
  Fix missing module on hipe app file template
  Add test suites performing app and appup file checks
  Introduce appup test utility
  Fix library application appup files
  Fix non-library appup files according to issue #240

OTP-11744
Added support for ENEA OSE

This port has support for both non-smp and smp.

It contains a new way to do io checking in which erts_poll_wait
receives the payload of the polled entity. This has implications
for all linked-in drivers.
crypto: Add rand_seed function

This function is needed on OSs that do not automatically
initialize the PRNG seed.
ose: Fix support for crypto

To enable it you have to modify the OSESSL variable in the
ose xcomp file.
Merge branch 'lukas/ose/master/OTP-11334'

* lukas/ose/master/OTP-11334: (71 commits)
  erts: Fix unix efile assert
  ose: Use -O2 when building
  ose: Expand OSE docs
  ose: Add dummy ttsl driver
  ose: Cleanup cleanup of mutex selection defines
  ose: Polish mmap configure checks
  ose: Add ose specific x-compile flags
  ose: Updating fd_driver and spawn_driver for OSE
  ose: Updating event and signal API for OSE
  ose: Cleanup of mutex selection defines
  win32: Compile erl_log.exe
  ose: Remove uneccesary define
  ose: Fix ssl configure test for osx
  erts: Fix sys_msg_dispatcher assert
  ose: Fix broken doc links
  ose: Thread priorities configurable from lmconf
  ose: Yielding the cpu is done "the OSE" way
  ose: Start using ppdata for tse key
  ose: Do not use spinlocks on OSE
  ose: Fix support for crypto
  ...

Conflicts:
	lib/crypto/c_src/crypto.c
Change encoding for XML files to utf-8

These are some files that were erronously missed earlier:

   erts/doc/src/time_correction.xml
   lib/crypto/doc/src/crypto_app.xml
   lib/snmp/doc/src/snmpa_mib_data.xml
   lib/snmp/doc/src/snmpa_mib_storage.xml
Bump versions and ensure that all are "normal" versions

Ensure all are "normal" versions according to the new version scheme
introduced in OTP 17.0
Introduce runtime_dependencies in .app files

Most dependencies introduced are exactly the dependencies to other
applications found by xref. That is, there might be real dependencies
missing. There might also be pure debug dependencies listed that
probably should be removed. Each application has to be manually
inspected in order to ensure that all real dependencies are listed.

All dependencies introduced are to application versions used in
OTP 17.0. This since the previously used version scheme wasn't
designed for this, and in order to minimize the work of introducing
the dependencies.
Update release notes