ssl-proxies: Improve RFC 3820 compliance of key usage check

Each certificate in a certificate chain can have a key usage field.
The existing JGlobus code checks that each proxy certificate does not
have more key usages than the issuing certificate. This seems like
a sensible check, however it conflicts with the algorithm described
in RFC 3820.

The RFC states that all key usage (and extended key usage) extensions
of all proxy certificates and the EEC must be collected in a list and
the effective key usage computed by the intersection of all extensions:

   *  If a certificate is a proxy certificate with a policy other than
      id-ppl-independent, the effective key usage and extended key usage
      functionality of the proxy certificate is the intersection of the
      functionality of those extensions in the proxy certificate and the
      effective key usage functionality of the proxy issuer.

We have observed real-world proxy certificates that failed with the
existing check in JGlobus 2, even though they are valid proxies
according to the RFC. These proxies also work with JGlobus 1.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Update GlobusGSSException to avoid boring messages

Quite often, a GlobusGSSException is used to wrap an existing
Exception where it adds no additional meaning.

The result of this problem is Exception messages with many chained
"Failure unspecified at GSS-API level" messages.

In addition, SSLEngine suffers from the same problem, throwing an
SSLException with a message that has no meaning and with a Throwable
(that cause the SSLException) containing the meaningful message.

As a work-around, this patch skips over these semantically-null
Exception messages.

This is really a work-around, but fixing the underlying problems will
take sufficiently long that such a work-around is necessary.

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Add better error message when certificate chain verification fails

Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>