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()
Merge branch 'maint'
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 '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.
Merge branch 'maint'
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.