(#20027) Refactor connection verify_callback Proc

Without this patch the Proc assigned to `Net::HTTP#verify_callback=` is
difficult to test.  This is a problem because this Proc handles critical
behavior related to authorization and security.

This patch addresses the problem by extracting the anonymous proc into a
class named Puppet::SSL::Validator.  The #call method implements the
Proc API and behaves in the same manner as the anonymous Proc.

This patch also adds explicit behavior tests to cover the #call method
and related authorization checking methods.