ssl: fix initialization of DTLS fragment reassembler

The DTLS fragment reassembler use a list [{Start, End}] for the
fragments. When the first received fragment was not the starting
fragment, that list got initialized with [{Start, Length}],
causing the merge of following fragment to fail.
ssl: Honor TLS client ECC extension

Also the server should only send ECC point formats extension not ECC curve
extension.
ssl: Fix dialyzer spec
Merge remote-tracking branch 'upstream/maint'
Merge branch 'RoadRunnr/fix_dtls_fragment_decoder/OTP-11376'

* RoadRunnr/fix_dtls_fragment_decoder/OTP-11376:
  ssl: fix initialization of DTLS fragment reassembler
Remove extraneous dev debug code left in the close function.

We do not need a traceback on every close in inet_tls_dist and this
breaks using nodetool in control scripts on SSL clustered nodes
Merge branch 'maint'
Fix client_preferred_next_protocols documentation
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'
ftp,ssl: Fixes broken type link (ssloption).
Merge branch 'maint'
ssl: Refactor handshake and record handling
ssl: Refactor connection and handshake handling
ssl: Refactor premaster secret handling
ssl, public_key: Dialyzer fixes
ssl: Refactor API

New design : ssl - Main
    	     tls - Reflect tls specific semantics
	     dtls - Reflect dtls specific semantics