asn1ct_tok: Check return value from file:close/1

This will silence a dialyzer warning for unmatched return.
asn1ct_value: Silence a dialyzer warning for unmatched return
asn1ct_gen: Silence dialyzer warnings for unmatched returns
asn1ct_table: Silence a dialyzer warning for unmatched return

Change the code so that delete/1 always returns 'true'.

While at it, also remove the TODO comment and explain in a comment
why we want to keep the delete/1 function.
asn1ct_table: Remove unused flexibility in table creation

Unused flexibility complicates the code and can hide bugs.

new/1 is never called with a table name that already exists, so
we should remove the code that allows for that. That will increase
the coverage of asn1ct_table to 100%.

Also remove the new/2 and new_reuse/2 functions which are never
called externally.
asn1ct: Silence dialyzer warnings for unmatched returns
asn1ct_check: Correct error handling for illegal OCTET STRING values

The value for an OCTET STRING must be specified as either a bstring
or an hstring. Everything else (including character strings) is
illegal.

This correction also removes the offending code that caused an
unmatched return warning from dialyzer.
asn1ct_check: Remove useless call to check_integer/3

check_integer/3 can check nothing for an INTEGER without any named
values. Remove the useless call to silence a dialyzer warning for
unmatched return.
asn1ct_check: Use a return value to silence a dialyzer warning

Unfortunately the code in question is not covered by our test
suites, but it should be correct to do the same thing as in
the clause above.
test_server: Fix dynlib link command for openbsd

The old command failed with unresolved symbol __guard_local
erts: Rewrite dtrace configure test

The previous version printed error messages from the dtrace
command to stderr. This output is now printed to config.log
instead.
crypto: Abort VM if out of memory

Nice crash instead of segv or worse.
erts: Fix driver_SUITE:otp_9302 for VM without threads
erts: Skip driver_SUITE:thr_free_drv for VM without threads
erts: Fix NIF bug when load/upgrade fails after enif_open_resource_type

..has been successfully called.

Opened resource types (created or taken-over) were left "hanging"
leading both to memory leakage and other more strange and serious behavior.

Now a proper rollback is done.
erts: Fix dtrace generation on FreeBSD
dtrace: Update dtrace docs with latest tested platforms
tools: Update emacs mode with map highlights
Update appups and appup tests for kernel, stdlib and sasl

Appups now only support one major release back, and the tests are
updated accordingly.

Support is also added in tests for giving previous releases in a ct
config file, e.g.

{otp_releases,[{r15,"/path/to/r15/bin/erl"},
	       {r16,"/path/to/r16/bin/erl"},
	       {'17',"/path/to/17/bin/erl"}]}.
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.