trapping binary_to_term passing binary_SUITE
trapping lists and tuples
trapping STRING_EXT
trapping binary_to_term/2
trapping size calculation
trapping uncompress
erts: Add erlang wrappers to binary_to_term

to not expose the trapping BIF in the stacktrace
when it throws badarg.
erts: Cleanup code for trapping binary_to_term
erts: Trapping memcpy in binary_to_term
erts: Fix crash when binary_to_term throws badarg

after it has built off_heap data
and then done at least one trap call.

The undo mechanism in dec_term does not work
if we build the magic binary after any other off_heap data.
erts: Fix bug in binary_to_term for compressed on halfword
erts: Improve stress of binary_to_term in binary_SUITE

by doing repeated calls with different reduction count.
erts: Let term_to_binary disable gc while trapping

as an attempt to improve performance
erts: Yield after trapping term_to_binary if gc has been ordered

or if "too much" offheap binaries has been built
erts: Adjust term_to_binary reduction factors

Made them powers of 2 for faster calculations.

500 encoded terms per reductions seemed a bit much, lowered to 32.

TERM_TO_BINARY_SIZE_FACTOR was not used in practice as it was only
applied to small binaries.

Lowered from 500kb to 256kb compressed bytes per trap call.
Prepare release
Update versions of OTP, erts, kernel, and stdlib

Update versions of OTP, erts, kernel, and stdlib to comply with
the new version scheme decided by the OTP technical board.
Merge tag 'OTP_R16B03'

The R16B03 release

Conflicts:
	lib/sasl/vsn.mk
fixed a spelling mistake in httpc doc
Support non top level letrecs in dialyzer

Dialyzer so far only supported letrecs at the top-level
and comprehension-like letrecs (i.e. that were directly applied)
in their body.

This commit address this issue by storing in the callgraph
bound letrec labels pointing to their functions. This information
is then used by the dataflow to properly lookup recursive
definitions.