(#21321) Configurable SSL protocols

This patch adds an additional configuration option, `ssl-protocols`, to
the `[jetty]` section of the configuration file. This lets users specify
the exact list of SSL protocols they wish to support, such as in cases
where they're running PuppetDB in an environment with strict standards
for SSL usage.

If the option is not supplied, we use the default set of protocols
enabled by the local JVM.
Document that this only works on JDK 1.7+
Merge pull request #584 from grimradical/ssl_protocols_config

(#21321) Configurable SSL protocols
Merge pull request #583 from grimradical/update-libs

Library and dependency refresh
(#21732) Allow SSL configuration based on Puppet PEM files

This commit introduces some functions for reading keys and
certificates from PEM files, and dynamically constructing java
KeyStore instances in memory without requiring a .jks file on
disk.

It also introduces some new configuration options that may
be specified in the `jetty` section of the PuppetDB config
to initialize the web server SSL settings based on your
Puppet PEM files.  This provides us with a path forward for
removing the `keytool` calls and such from the `puppet-ssl-setup`
script in the future.
(#21732) SSL PEM parameter name changes & puppetdb-ssl-setup handling for pem files

This changes puppetdb-ssl-setup to assist setup of PEM based files instead
of keystore based files.

The script however tries to be delicate around legacy setups, failing to run
if the user still looks like they have a keystore setup without the -f
switch. This is so users who already have keystore based setups can choose
to migrate when they wish, instead of a package upgrade forcing them to.

Users who install from scratch however, will now have puppetdb-ssl-setup
copy the certificates from Puppet into the correct places for them and
configure SSL as before, but instead with PEM files.

This patch also changes the names of parameters from the original patch to
remove the puppet-agent-* prefixes.

Documentation that relates to puppetdb-ssl-setup has been modified to suite
the new behaviour.

Signed-off-by: Ken Barber <ken@bob.sh>
Upgrade bcpkix-jdk15on to latest revision

Signed-off-by: Ken Barber <ken@bob.sh>