Move test classes to test directory
Move gram tests using io classes to io directory
Remove code duplication (org.globus.net and org.globus.io.gass)
Move test.properties files to resources directories
The whole project is UTF-8, not only gram
Merge pull request #79 from ellert/master

Remove test classes from installed jar, remove code duplication and some other minor fixes
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.
ssl-proxies: Introduce Enum for key usage fields

An Enum allows us to use an EnumSet which internally is
implemented as a bitvector. That is more efficient and
more convenient than using a boolean array.
Merge pull request #89 from gbehrmann/fix/keyusage

Improve RFC 3820 compliance of key usage check
Fix GlobusGSSContextTest

The GlobusGSSContextTest relies on having a credential, which then relies
on X509Credential class not having a cached copy of such a credential.
However, it does not ensure there is no such cached credential.

Since multiple tests (and test-suites) are run within the same JVM
instance, the effect is that, if another test-suite caches a
(deliberately) invalid, self-signed certificate then this cached
copy is returned instead of the expected certificate.

This patch fixes this problem by ensuring the cache is cleared.  It
introduces a (negliable) overhead as the cache is flushed between
tests; however, the additional robustness justifies this cost.

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