Tweak comments
Add diameter_dbg:sizes/0

To return sizes of named ets tables.
Add (process) info tuple to diameter:service_info/2

To show process_info of interest. This is not yet documented since it
may well change.
Add info item for diameter:service_info/2

To extract only process info from connections info, which can be useful
to reduce the amount of information returned.

Choose 'info' for the item since process_info is more than one word: all
others are one. Don't choose memory since it's too specific: might want
to use it for more.
Fix counting of outgoing requests

Commit df19c272 broke this in avoiding counting on arbitrary keys.
It didn't break it sufficiently for the only counters usage in the test
suites to fail however: watchdog counters worked as intended, but no
others, not even CER and DPR. More testcases are needed.

This commit does change/fix the previous semantics somewhat:

- Retransmissions are no longer counted. This previously made it
  impossible to distinguish between these and unanswered requests, since
  both counted as an outgoing request. There should probably be a
  retransmission counter but it should be distinct from the sent request
  counter.

- The counting is always on the node from which diameter:call/4 is
  invoked, not the node on which the transport resides, as was previously
  the case. (Although they're typically one and the same.)

Note that none of these semantics are documented as yet, so we're not
changing a documented interface.
Count request retransmissions

As mentioned in the parent commit. The {Id, send, retransmission}
key is of the same form as the {Id, send|recv, error} key used for
encode/decode errors.
Count relayed messages on {relay, Rbit}

Instead of grouping them with 'unknown'. These messages were keyed on
{ApplicationId, CommandCode, Rbit} prior to commit df19c272, but
distinguishing between the relay application and others is probably more
useful.

The only reason for not including the R-bit in the unknown key is that
the key is also used elsewhere, and relay is an expected case while
unknown isn't.
Map binary process info to a reference/byte count

That is, instead of including the list in a diameter:service_info/2 info
tuple, only include the number of references and the number of bytes
referenced. The list itself can be quite large and typically isn't that
interesting, at least not to a diameter user.
Fix counters for answer-message

An answer message that sets the E-bit is encoded/decoded with Diameter
common dictionary, using the answer-message grammar specified in the
RFC. However, the dictionary of the application in question is the one
that knows the command code of the message. Commit df19c272 didn't make
this distinction when incrementing counters for an answer-message, using
the common dictionary for both purposes, causing the message to be
counted as unknown. This commit remedies that.
Fix decode of Failed-AVP in RFC 3588 answer-message

Commit 066544fa had the unintended consequence of breaking the decode of
Failed-AVP in answer-message as defined in the RFC 3588, since the
grammar doesn't list Failed-AVP as an explicit component AVP, in
contrast to the RFC 6733 grammar, which does. Handle this case
explicitly, as an exception, just as with Failed-AVP as parent AVP.
Fix best effort decode of Failed-AVP

Commit c2c00fdd didn't get it quite right: it only decoded failed AVPs
in the common dictionary since it's this dictionary an answer-message is
decoded in. An extra dictionary isn't something that's easily passed
through the decode without rewriting dictionary compilation however, and
that's no small job, so continue with the use/abuse of the process
dictionary by storing the dictionary module for the decode to retrieve.
This is one step worse than previous uses since the dictionary is put in
one module (diameter_codec) and got in another (the dictionary module),
but it's the lesser of two evils.
Update appup for OTP-12069
Update appup for OTP-12080
Update appup for OTP-12094

diameter_codec must be loaded before diameter_traffic.
vsn -> 1.7.1
Don't leave extra bit in decoded AVP data

The bit is added in diameter_codec to induce a decode error in the case
of 5014 errors, but was not removed before returning the decoded result.
Code examining the binary data in a diameter_avp record would then see
the extra bit.
Merge branch 'anders/diameter/counters/OTP-12080' into maint

* anders/diameter/counters/OTP-12080:
  Fix counters for answer-message
  Count relayed messages on {relay, Rbit}
  Count request retransmissions
  Fix counting of outgoing requests
Merge branch 'anders/diameter/Failed-AVP/OTP-12094' into maint

* anders/diameter/Failed-AVP/OTP-12094:
  Fix best effort decode of Failed-AVP
  Fix decode of Failed-AVP in RFC 3588 answer-message
Merge branch 'anders/diameter/5014/OTP-12074' into maint

* anders/diameter/5014/OTP-12074:
  Don't leave extra bit in decoded AVP data
Merge branch 'anders/diameter/17.3_release/OTP-12093' into maint

* anders/diameter/17.3_release/OTP-12093:
  vsn -> 1.7.1
  Update appup for OTP-12094
  Update appup for OTP-12080
  Update appup for OTP-12069