Support binary standard_input in ssh_io
inets: Fix streaming with single chunk body

Receiving HTTP response with chunked transfer encoding in a single
TCP message should produce stream messages for response body when
streaming mode is used for httpc.
Support maps in cerl:ann_make_tree/3
ssl: fix max sequence number so it does not overflow

The old value of 18446744073709552000 was calculated using math:pow
which returns float therefore isn't precise. And it would overflow:

erlang:integer_to_list(18446744073709552000, 16) = "10000000000000180"

This patch changes MAX_SEQENCE_NUMBER to value calculated with bitwise
shift:
(1 bsl 64) - 1 = 18446744073709551615
erts: Fix bug in etp-block commands
doc: Move Maps reference documentation to expressions
Merge branch 'egil/move-maps-doc' into maint

* egil/move-maps-doc:
  doc: Move Maps reference documentation to expressions
Comment fix
Add check that request table is empty to failover suite

The way in which this suite causes transport connections to be broken -
by stopping the service - makes it prone to orphaning entries in the
request table, which is a bug we're about to fix.
Fix leaking request table

A new connection writes the pid to the table diameter_request. The
normal handling is that loss of a connection leads to a watchdog state
change in the service process, which removes the entry, but this usually
won't happen in the case of diameter:stop_service/1 since the service
process is terminated without waiting for watchdog transitions.

The request table should really be service-specific, so that the table
is deleted when the service is stopped, which requires passing the table
identifier into request processes and handling that the table may not
exist. Just clear out the service-specific entries at service process
termination for now.
Fix watchdog table leak

Commit ef5fddcb (diameter-1.4.1, R16B) caused the leak in the case of an
accepting watchdog with restrict_connections = false. It (correctly)
ensured the state remained at INITIAL but a subsequent 'close' message
to terminate the process was ignored since the state was not DOWN. In
fact, no 'close' was sent since there was no state transition or
previous connection: the former triggers the message from
diameter_service, the latter from diameter_watchdog. The message is now
sent to self() from the watchdog itself.

Send 'close' in the same way when multiple connections to the same peer
are allowed, to avoid waiting for a watchdog timer expiry for the
process to terminate in this case.
Simplify sending of 'close' to watchdog

There's no need to send the message immediately if there's no transport
configuration since that in itself means the service process will tell
the watchdogs to die.
Merge branch 'sverk/etp-block-fix' into maint

* sverk/etp-block-fix:
  erts: Fix bug in etp-block commands
Count result codes in CEA/DWA/DPA

Corresponding counters for other answer messages have been counted
previously, but those for CEA, DWA, and DPA have been missing since
diameter itself sends these messages and the implementation is as bit
more separate than it might be. The counters are keyed on values of the
following form.

  {{ApplicationId, CommandCode, 0 = Rbit}, send|recv, {'Result-Code', RC}}
Count decode errors independently of result codes

Since the former doesn't exclude the latter.

Counter values are returned by diameter:service_info/2. They can
currently only be retrieved for a service, not for individual transports
or peer connections.
Count decode errors in incoming requests

Errors were only counted in incoming answers. Counters are keyed on
tuples of the same form:

  {{ApplicationId, CommandCode, Rbit}, recv, error}
Merge branch 'dz/fix_ssl_max_seq_num' into maint

* dz/fix_ssl_max_seq_num:
  ssl: fix max sequence number so it does not overflow
Merge branch 'jv/ssh-io-binary' into maint

* jv/ssh-io-binary:
  Support binary standard_input in ssh_io
Merge branch 'scrapinghub/stream_for_chunked_single_message' into maint

* scrapinghub/stream_for_chunked_single_message:
  inets: Fix streaming with single chunk body
Change ERTS vsn