Fix broken DWA

Commit e762d7d1 broke outgoing DWA by setting new Hop-by-Hop and
End-to-End identifiers instead of those of the incoming DWR.
Spec for atan2 should be atan2(Y, X), not atan2(X, Y)
Don't try to add the log_mf_h handler in sasl unless configured to do so.

The functions add_error_logger_mf/1 and delete_error_logger_mf/1 in sasl.erl
are designed to do nothing if the handler configuration as returned by
get_error_logger_mf/0 is 'undefined'. However, that function returns a
triple {undefined,undefined,undefined} when the error_logger_mf_*
configurations have not been set. This makes SASL always try to add the
log_mf_h handler on startup, passing 'undefined' for each of the Dir, MaxB
and MaxF parameters. The gen_event callback function log_mf_h:init/1 will
then crash with a function_clause error, causing the handler to be silently
removed again. This patch fixes the problem by making get_error_logger_mf/0
return the single atom 'undefined' as it is expected to do.
Fix handling of 5014, DIAMETER_INVALID_AVP_LENGTH

The error was detected as 5004 (DIAMETER_INVALID_AVP_VALUE) for
stringish Diameter types, in which case an AVP length that pointed past
the end of a message resulted in encode failure of the suggested
Failed-AVP.

Should have been fixed in commit 4ce2d3a6.
Merge branch 'anders/diameter/broken_dwa/OTP-11367' into anders/diameter/patch_release/OTP-11459

* anders/diameter/broken_dwa/OTP-11367:
  Fix broken DWA
Merge branch 'anders/diameter/5014_failure/OTP-11395' into anders/diameter/patch_release/OTP-11459

* anders/diameter/5014_failure/OTP-11395:
  Fix handling of 5014, DIAMETER_INVALID_AVP_LENGTH
Update appup, vsn -> 1.4.4
Merge branch 'anders/diameter/patch_release/OTP-11459' into maint-r16

* anders/diameter/patch_release/OTP-11459:
  Update appup, vsn -> 1.4.4
  Fix handling of 5014, DIAMETER_INVALID_AVP_LENGTH
  Fix broken DWA
Update release notes
Avoid serialization on code_server in xmerl:export()

The inheritance mechanism in xmerl used to use 'catch apply(M,F,Args)' to
try different modules M until one was found that had a function F/A.
However, when M:F/A does not exist, apply/3 will trap to
error_handler:undefined_function/3, which will call code:ensure_loaded(M),
making a synchronous request to the code server process. If many processes
tried to use xmerl:export() concurrently, they would get serialized waiting
for the code server process. This patch uses erlang:function_exported/3
instead to check if M:F/A exists. If M exists, it should already have been
loaded at that point due to the inheritance checking in the
xmerl:callbacks/1 function.
Merge branch 'richcarl/xmerl-avoid-code-server-serialization/OTP-11463' into maint

* richcarl/xmerl-avoid-code-server-serialization/OTP-11463:
  Avoid serialization on code_server in xmerl:export()
Add SSL Server Name Indication (SNI) client support

See RFC 6066 section 3
Add a new server_name_indication option to ssl:connect

- Set to disable to explicitly disable SNI support.
- Set to a hostname when upgrading from TCP to TLS.
Update documentation
Merge branch 'maint-r16' into maint
Merge branch 'richcarl/sasl-dont-add-undefined-handler/OTP-11464' into maint

* richcarl/sasl-dont-add-undefined-handler/OTP-11464:
  Don't try to add the log_mf_h handler in sasl unless configured to do so.
Do not attempt to detect lists of printable characters in Data

This is to avoid outputting something like "\"%\f" instead of [34,37,12] in the XML.
erts: Add cerl -dump and dumping in z_SUITE
Merge branch 'lukas/cerl_dump/OTP-11468' into maint

* lukas/cerl_dump/OTP-11468:
  erts: Add cerl -dump and dumping in z_SUITE
Merge branch 'asterite/atan2_spec/OTP-11465' into maint

* asterite/atan2_spec/OTP-11465:
  Spec for atan2 should be atan2(Y, X), not atan2(X, Y)