Fix incorrect proplists type reference

ssh and public_key were referring to proplists:proplists/0
which does not exist. Fix by using the correct type proplists:proplist/0.
Fix incorrect use of public_key:private_key/0 type

public_key:private_key/0 was referenced but undefined, and lib/ssl had a
local definition of private_key/0.

To fix that, make the following changes:
 * add public_key:private_key/0 type
 * document public_key/0 and private_key/0
 * fix incorrect definitions and references
Consistently format public_key(3)

When documenting public_key/0 and private_key/0, I noticed the
inconsistent state of formatting in public_key(3)'s Data Types section.
This should be fixed for consistency and readability.
public_key: Export some dialyzer types

Move dilayzer types from include file to erl file and use
-export_type
public_key(3): fix private_key/0 type definition
Merge branch 'tuncer/fix-public_key-specs'

* tuncer/fix-public_key-specs:
  public_key(3): fix private_key/0 type definition

OTP-11627
Fix library application appup files

As discussed in issue #240 *all* OTP library applications use the '.*'
wildcard as up and down version. This makes library applications
always up- and downgradeable. Using the wildcard version obsoletes
all maintenance tasks regarding library applications' appup files.
Additionally, it prevents upgrade problems caused by automatically
included application dependencies when using reltool to create
releases. Missing copyright headers are now consistently present.
Add test suites performing app and appup file checks

Add the mentioned test suites for *all* library and touched
non-library applications.
Bump versions and ensure that all are "normal" versions

Ensure all are "normal" versions according to the new version scheme
introduced in OTP 17.0
Introduce runtime_dependencies in .app files

Most dependencies introduced are exactly the dependencies to other
applications found by xref. That is, there might be real dependencies
missing. There might also be pure debug dependencies listed that
probably should be removed. Each application has to be manually
inspected in order to ensure that all real dependencies are listed.

All dependencies introduced are to application versions used in
OTP 17.0. This since the previously used version scheme wasn't
designed for this, and in order to minimize the work of introducing
the dependencies.
pubkey: Fixed unicode conversion
Various improvements to CRL handling

* Handle v1 CRLs, with no extensions.
* Compare the IDP on a CRL correctly, if present
* Don't try to double-decode altnames

Tests are also included, and the make_certs testing tool in the SSL
application has been greatly extended.
Rework IDP validation according to the RFC, fix public_key tests
ssl, pubkey: Code and test adjustments
public_key: Update outdated links
public_key: Document issuer_fun option to pkix_crls_validate/3
public_key: Fix typo
Update release notes