(PUP-3676) Move OpenSSL::X509::Name calls in util/ssl.rb

This commit moves the initialization of a couple of constants in
`Puppet::Util::SSL` down into the body of the `subject_from_dn` method.

The purpose of the change is to avoid having this initialization, which
involves creating `OpenSSL::X509::Name` objects, be done when Puppet is
running under Puppet Server.  We've been trying to avoid calls into
JRuby OpenSSL as doing so has caused many problems for Puppet Server.

The `subject_for_dn` method is the only code which referenced these
constants and `subject_for_dn` is only called by the Rack HTTP handler,
which is not used by Puppet Server.
(PUP-3676) Memoized dn_parser and no_name in Puppet::Util::SSL

This commit promotes `dn_parsers` and `no_name` back to being
class-level and ensures that they are only initialized once rather than
being reinitialized on each call to `subject_from_dn`.

This commit also removes the fallback `lambda` no_name parser from
`subject_from_dn` and instead just ensures that `no_name` is returned
whether the dn is "not possibly valid" or if none of the
`OpenSSL::X509::Name` parsers is able to parse the dn successfully.
Merge pull request #3316 from camlow325/maint/master/PUP-3676-move-openssl-calls-in-ssl-rb

(PUP-3676) Move OpenSSL::X509::Name calls in util/ssl.rb