BIFs should be considered exported

All BIFs now have stub functions and are exported. For example
in the erlang module:

-export([..., is_list/1, ...]).
.
.
.
is_list(_Term) ->
    erlang:nif_error(undefined).

But erlang:function_exported(erlang, is_list, 1) returns false,
which is weird.

Change erlang:function_exported/3 to return true for BIFs.
Use +clint0 in compiler's test suites
Check for more return mismatches

All expressions but calls and primops are now checked for return mismatches.
Handle return mismatches for calls and primops

Only exit BIFs and the match_fail primop are allowed to run where more than one
value is expected.
Remove obsolete comment in core_lint
ssl: Correct handling of certificate_types in Certificate Requests

FROM TLS 1.2 RFC:
   The interaction of the certificate_types and
   supported_signature_algorithms fields is somewhat complicated.
   certificate_types has been present in TLS since SSLv3, but was
   somewhat underspecified.  Much of its functionality is superseded by
   supported_signature_algorithms.  The following rules apply:

   -  Any certificates provided by the client MUST be signed using a
      hash/signature algorithm pair found in
      supported_signature_algorithms.

   -  The end-entity certificate provided by the client MUST contain a
      key that is compatible with certificate_types.  If the key is a
      signature key, it MUST be usable with some hash/signature
      algorithm pair in supported_signature_algorithms.

   -  For historical reasons, the names of some client certificate types
      include the algorithm used to sign the certificate.  For example,
      in earlier versions of TLS, rsa_fixed_dh meant a certificate
      signed with RSA and containing a static DH key.  In TLS 1.2, this
      functionality has been obsoleted by the
      supported_signature_algorithms, and the certificate type no longer
      restricts the algorithm used to sign the certificate.  For
      example, if the server sends dss_fixed_dh certificate type and
      {{sha1, dsa}, {sha1, rsa}} signature types, the client MAY reply
      with a certificate containing a static DH key, signed with RSA-
      SHA1.
public_key: Correct ASN-1 spec
public_key: Correct ASN1-type EcpkParameters in PEM handling
ssl: Test ECDSA and improve test suite maintainability

Use generated certs instead of hard coded
ssl: Make sure the correct ROOT-cert is used

When dealing with older certificates that does not indicate its signer
with a certificate extension, we must search the database for the issure.
Finding the issuer is not enough, we need to verify the signature
with the key in the found issuer cert.
public_key: Updated User Guide with ECC records
Merge branch 'ia/ssl/certificate_types/certificate_requests/OTP-12026' into maint

* ia/ssl/certificate_types/certificate_requests/OTP-12026:
  public_key: Updated User Guide with ECC records
  ssl: Make sure the correct ROOT-cert is used
  ssl: Test ECDSA and improve test suite maintainability
  public_key: Correct ASN1-type EcpkParameters in PEM handling
  public_key: Correct ASN-1 spec
  ssl: Correct handling of certificate_types in Certificate Requests
Merge remote-tracking branch 'upstream/maint'
Merge branch 'nox/compiler/improve-core-lint'

* nox/compiler/improve-core-lint:
  Remove obsolete comment in core_lint
  Handle return mismatches for calls and primops
  Check for more return mismatches
  Use +clint0 in compiler's test suites
Merge branch 'bjorn/erts/export-bifs/OTP-12099'

* bjorn/erts/export-bifs/OTP-12099:
  BIFs should be considered exported
ssh: Add testcases for max_sessions option

Now checks that if we have max_session sessions we could close one session and open a new one.  That is checked both for parallel and non-parallel logins.
Merge branch 'hans/ssh/new_test_case' into maint

* hans/ssh/new_test_case:
  ssh: Add testcases for max_sessions option
Merge branch 'maint'

* maint:
  ssh: Add testcases for max_sessions option
Accept inet:ip_address() in net_adm:names/1

This change also simplifies the code avoiding a double (conditional)
call to inet:gethostbyname/1 (in net_adm:names/1 and then
erl_epmd:names/1).
Refactor erl_epmd:names/1

Simplify erl_epmd:names/1, keeping the same functionalities, relying
on inet:gethostbyname/1 being able to handle both atoms and strings.